第一步:pom文件添加依赖
<!-- mybatis 相关依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--pagehelper 分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>RELEASE</version>
</dependency>
第二步:配置文件配置数据源
############### 数据源配置 ########################
# com.mysql.jdbc.Driver是mysql-connector-java 5的版本,com.mysql.cj.jdbc.Driver是新版本使用的
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
# 连接池配置
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
#配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
#用来检测连接是否有效
spring.datasource.validationQuery=SELECT 1
spring.datasource.testWhileIdle=true
#申请连接时执行validationQuery检测连接是否有效,开启了会降低性能
spring.datasource.testOnBorrow=false
#归还连接时执行validationQuery检测连接是否有效,开启了会降低性能
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall,log4j
#通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
############# mybatis配置 #####################
# sql语句的xml文件和实体类所在路径
mybatis.mapper-locations=classpath:mybatis/mapper/**/*.xml
mybatis.type-aliases-package=com.zhh.**.domain.*
############# pagehelper分页插件配置 #############
pagehelper.helperDialect=mysql
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
#禁用合理化,如果pageNum<1或pageNum>pages(超过总数时)会返回空数据,不会循环返回最后一页#
pagehelper.reasonable=false
####打印sql
logging.level.org.springframework=WARN
logging.level.com.zhh=DEBUG
第三步:配置完成后演示
以users表为例编写简单的查询流程
3.1 userMapper.xml文件
路径:\src\main\resources\mybatis\mapper\user\UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhh.demo.webs.dao.UserDao">
<resultMap id="BaseResultMap" type="com.zhh.demo.domain.User">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="userName" />
<result column="age" jdbcType="INTEGER" property="age" />
</resultMap>
<!-- 简单查询语句 -->
<select id="queryUserList" resultMap="BaseResultMap">
SELECT * FROM users
</select>
</mapper>
3.2 dao层接口
package com.zhh.demo.webs.dao;
public interface UserDao {
List<User> queryUserList();
}
3.3 启动类添加mapper扫描注解配置
// dao接口所在包路径
@MapperScan("com.zhh.**.dao")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
调用dao类接口执行相应的操作