与MyBatis的初见
一、MyBatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
在MyBatis流行之前,广泛使用的原生JDBC与Hibernate的简单工作示意图如下:
在原生JDBC中,SQL语句夹在Java代码块里,耦合度高导致硬编码,维护不易且在实际开发中,每次对sql语句进行修改时,都需要重新编译java文件,费时费力。
而HIbernate也曾占据大半天下,在使用人数上一度压制的MyBatis喘不过气。然而随着数据量的大大增加,所使用的sql语句也不再是简单的crud语句,长难复杂的sql语句,对Hibernate处理起来也是步履维艰。Hibernate内部就像是一个黑箱,内部自动产生的sql语句不易做特殊优化。基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难。导致数据库性能下降。
因此,在这种趋势下,MyBatis得益于其sql和java编码分开,功能边界清晰,一个专注业务、一个专注数据,一下子就占据了优势,大家可以简单理解为将原生JDBC中的写sql语句部分全部在xml配置文件中进行,不在需要写在java文件中,每次进行重新编译。
二、MyBatis安装与配置
一、下载MyBatis
下载MyBatis,大家自行去官网下载即可,我用的是3.4.1版本
下载完成后,进行解压,就可以得到jar包,撒花!
二、数据库和连接包
在这里,要重点强调一下哦,大家用的数据库版本要和mysql-connector-java-XXXX.jar
的版本相对应嗷!(XXXX的地方是该包的版本号),我这里用的是mysql-connector-java-8.0.11.jar
以及8.0.23版本的MySQL。
PS:查看数据库版本只需要打开数据库界面,输入SELECT VERSION()
即可
三、MyBatis的HelloWorld
终于要开始第一个MyBatis程序啦,不知大家激不激动,反正我是很期待的!
我用的是eclipse来写的,上述的jar包以及MyBatis都已经安装好啦,让我们开始我们的helloWorld叭!
基础步骤:
1.创建java项目,这里如果大家是刚学完Spring框架的同学,请不要顺手创建dymamic web project
,只需要一个基础的java project即可
2.导包
在项目的根目录下,创建libs文件夹,导入上述的mysql-connector-java-8.0.11.jar
和mybatis-3.4.1.jar
,并将二者右键->Build Path
3.创建MyBatis全局配置文件
MyBatis 的全局配置文件包含了影响 MyBatis
行为甚深的设置(settings)和属性(properties)信息、如数据库连接池信息等。指导着MyBatis进行工作。我们可以参照官方文件的配置示例。
在project根目录下创建conf资源文件夹,并在其中创建mybatis-config.xml
的全局配置文件。(这里大家一定要注意是Source Folder!不是Folder,否则后面会找不到你的配置文件哦!)
这里的EmployeeDao.xml大家先选择性的忽略,其实就是后面的SQL映射文件
mybatis-config.xml
代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type=