1、MyBatis简介
1.1、MyBatis历史
MyBatis最初是Apache一个开源项目iBatis,后面2010年6月迁移到Google,后面正式改名为MyBatis。2013年11迁移到Github。
iBatis提供的持久曾框架包括SQL Maps和 Data Access Object(DAO)。
1.2、MyBatis特性
- MyBatis支持定制化SQL、存储过程以及高级映射的优秀持久层框架
- MyBatis避免几乎所有的JDBC代码和手动设置参数以及获取结果集
- MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录
- Mybatis是一个半自动的ORM(Object Relation Mapping) 框架
1.3、MyBatis下载
MyBatis下载地址:https://github.com/mybatis/mybatis-3
1.4、和其他的持久化层技术对比
- JDBC
- SQL夹杂在Java代码中耦合度高,导致硬编码内伤
- 维护不易且实际开发需求中SQL有变化,频繁修改的情况多见
- 代码冗长,开发效率低
- Hibernate 和JPA
- 操作渐变,开发效率高(Hibernate 全自动的持久层框架)
- 只能处理较为简单的SQL,长难复杂SQL需要绕过框架
- 内部自动生产的SQL,不容易做特殊优化
- 基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难
- 反射操作太多,导致数据库性能下降
- MyBatis
- 轻量级爱,性能特色
- SQL和Java编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据
- 开发效率稍逊色于Hibernate,但完全能够接受
2、搭建MyBatis
2.1、开发环境
-
IDE:idea2020
-
构建工具:maven3.8.4
-
MySQL:MySQL8.0
MySQL不同版本注意事项
-
驱动类driver-class-name
5.7版本驱动类使用:com.mysql.jdbc.Driver
8.0版本驱动类使用:com.mysql.cj.jdbc.Driver
-
连接地址url
5.7版本url:jdbc:mysql://IP地址:端口号/数据库名
8.0版本url:jdbc:mysql://IP地址:端口号/数据库名?serverTimezone=UTC
无设置时区参数会报异常SQLException
-
2.2、前置准备(如果已经配置好maven,可以不用弄)
- windows简单配置maven
-
maven下载地址:Maven – Welcome to Apache Maven
-
点击Download进入下载页面
-
下载后解压文件并将其放置到你自己想要存放的目录,解压得到以下文件
-
进入conf,打开settings.xml这个maven的核心配置文件
-
配置本地仓库路径
因为window默认的仓库路径是在window用户的目录下,是在系统盘中,本地仓库占用系统盘空间越多,系统越卡,所以建议更改默认的本地仓库路径到非系统盘
在文档中添加标签,标签内容为本地仓库路径
<localRepository>F:\Java\maven\repository</localRepository>
本地仓库这个目录,我们手动创建一个空的目录即可。 记住:一定要把 localRepository 标签从注释中拿出来。 注意:本地仓库本身也需要使用一个非中文、没有空格的目录。
-
配置阿里云提供的镜像仓库
Maven 下载 jar 包默认访问境外的中央仓库,而国外网站速度很慢。改成阿里云提供的镜像仓库,访问 国内网站,可以让 Maven 下载 jar 包的时候速度更快。配置的方式是:
-
将原有的配置注释掉
<!-- <mirror> <id>maven-default-http-blocker</id> <mirrorOf>external:http:*</mirrorOf> <name>Pseudo repository to mirror external repositories initially using HTTP.</name> <url>http://0.0.0.0/</url> <blocked>true</blocked> </mirror> -->
-
添加阿里云镜像对应的标签
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
结果如下:
-
-
配置Maven工程的基础JDK版本
如果按照默认配置运行,Java 工程使用的默认 JDK 版本是 1.5,而我们熟悉和常用的是 JDK 1.8 版本。 修改配置的方式是:将 profile 标签整个复制到 settings.xml 文件的 profiles 标签内。
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true