介绍
MyBatis是一款优秀的持久层框架
官网:MyBatis中文网
配置
创建springboot工程,并导入 mybatis的起步依赖、mysql的驱动包、lombok。
项目工程创建完成后,自动在pom.xml文件中,导入Mybatis依赖和MySQL驱动依赖。如下所示:
配置Mybatis
在application.properties中配置数据库的连接信息。
#数据库访问的url地址 spring.datasource.url=jdbc:mysql://localhost:3306/web01?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true #访问数据库-用户名 spring.datasource.username=root #访问数据库-密码 spring.datasource.password=root@1234 #非必须 #数据库驱动类类名 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver注:url地址中的/web01是Schema名称,根据自己的名字来
url后面跟的参数
| 参数 | 作用 |
|---|---|
| serverTimezone=Asia/Shanghai | 解决 MySQL 8 时区报错 |
| useUnicode=true | 开启 Unicode |
| characterEncoding=utf-8 | 防中文乱码 |
| zeroDateTimeBehavior=convertToNull | 处理 0000-00-00 |
| useSSL=false | 关闭 SSL 警告 |
| allowPublicKeyRetrieval=true | MySQL 8 登录必需(无 SSL) |
配置SQL提示
配置当前IDEA关联的MySQL数据库
配置Mybatis日志输出
默认情况下,在Mybatis中,SQL语句执行时,我们并看不到SQL语句的执行日志。 在application.properties加入如下配置,即可查看日志:
#mybatis的配置 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl打开上述开关之后,就可以看到控制台输出的SQL语句是什么样子的。
Druid连接池(可选)
Druid连接池是阿里巴巴开源的数据库连接池项目,功能强大,性能优秀,是Java语言最好的数据库连接池之一
如果我们想把默认的数据库连接池切换为Druid数据库连接池,只需要完成以下两步操作即可:
参考官方地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
①在pom.xml文件中引入依赖
<dependency> <!-- Druid连接池依赖 --> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.19</version> </dependency>②在application.properties中引入数据库连接配置
#非必须 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver #必须 spring.datasource.druid.url=jdbc:mysql://localhost:3306/web01?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.druid.username=root spring.datasource.druid.password=1234配置完毕之后,会看到控制台输出的日志中,已经将连接池切换为了 Druid连接池。
XML映射配置
Mybatis的开发有两种方式:
注解
XML
使用Mybatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。
在Mybatis中使用XML映射文件方式开发,需要符合一定的规范:
XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)
XML映射文件的namespace属性为Mapper接口全限定名一致
XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
创建XML映射文件
编写XML映射文件
xml映射文件中的dtd约束,固定格式(直接cv)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace=""> </mapper>XML映射文件的namespace属性为Mapper接口全限定名
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.mapper.UserMapper"> </mapper>XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.mapper.EmpMapper"> <!--查询操作--> <select id="findAll" resultType="com.itheima.pojo.User"> select * from user </select> </mapper>MybatisX
MybatisX是一款基于IDEA的快速开发Mybatis的插件
MybatisX的安装:
可以通过MybatisX快速定位: