MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,是一个基于Java的持久层框架。
持久层: 可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏,在断电或者其他情况下,重新开启系统仍然可以读取到这些数据。
优点: 可以使用巨大的磁盘空间存储相当量的数据,并且很廉价
缺点:慢(相对于内存而言)
为什么使用 MyBatis在我们传统的 JDBC 中,我们除了需要自己提供 SQL 外,还必须操作 Connection、Statment、ResultSet,不仅如此,为了访问不同的表,不同字段的数据,我们需要些很多雷同模板化的代码,闲的繁琐又枯燥。
而我们在使用了 MyBatis 之后,只需要提供 SQL 语句就好了,其余的诸如:建立连接、操作 Statment、ResultSet,处理 JDBC 相关异常等等都可以交给 MyBatis 去处理,我们的关注点于是可以就此集中在 SQL 语句上,关注在增删改查这些操作层面上。
并且 MyBatis 支持使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
搭建 MyBatis 环境首先,我们需要先下载和搭建 MyBatis 的开发环境。
下载 MyBatis 工程包打开链接 下载 MyBatis 所需要的包和源码,当前最新版本为 3.4.6,官方还提供了文档: 戳这里,虽然感觉写得一般,但还是有一些参考价值...唉,别当教程看,当字典看!
下载好 MyBatis 的包解压后,可以得到以下的文件目录:
其中 mybatis-3.4.6.jar 包就是 MyBatis 的项目工程包,【lib】文件夹下就是 MyBatis 项目需要依赖的第三方包,pdf 文件是它英文版的说明,不要英文也可以戳上面的链接。
为 IDEA 配置 MyBatis 环境IDEA 默认是不支持 MyBatis 开发的,需要自己下载第三方插件来支持,可惜的是功能强大的【MyBatis Plugin】是收费的,需要我们自己破解!
第一步:在 IDEA 中下载 MyBatis Plugin在【File】菜单下找到【Settings】,然后再【Plugins】下点击【Browse repositories..】:
在搜索栏中输入【MyBatis Plugin】,然后点击【Install】(我这里是安装好了所以没有这个按钮):
第二步:破解有幸找到最新的破解方法,最新支持破解的版本号为:v3.58 crack,下载链接:戳这里
把它下载到 【D:\Download】目录下,打开 idea.vmoptions (【Help】-> 【Eidt Custom VM Options...】):
在下方插入 -javaagent:D:/Download/ideaagent-1.2.jar
重启 IDEA,首次启动需要信任本地服务器 ssl 证书,点击接受后如未激活,再次重启即可:
至此,我们就为 IDEA 配置好了 MyBatis 的开发环境,可以检验一下是否安装成功:
第一个 MyBatis 程序我们来实际开发一个 MyBatis 程序,感受一下。
第一步:准备数据库首先我们创建一个数据库【mybatis】,编码方式设置为 UTF-8,然后再创建一个名为【student】的表,插入几行数据:
DROP DATABASE IF EXISTS mybatis; CREATE DATABASE mybatis DEFAULT CHARACTER SET utf8; use mybatis; CREATE TABLE student( id int(11) NOT NULL AUTO_INCREMENT, studentID int(11) NOT NULL UNIQUE, name varchar(255) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO student VALUES(1,1,'我没有三颗心脏'); INSERT INTO student VALUES(2,2,'我没有三颗心脏'); INSERT INTO student VALUES(3,3,'我没有三颗心脏'); 第二步:创建工程在 IDEA 中新建一个 Java 工程,并命名为【HelloMybatis】,然后导入必要的 jar 包:
mybatis-3.4.6.jar
mysql-connector-java-5.1.21-bin.jar
第三步:创建实体类在 Package【pojo】下新建实体类【Student】,用于映射表 student:
package pojo; public class Student { int id; int studentID; String name; /* getter and setter */ }