1、Pom.xml文件增加依赖
<!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--alibaba的durid的数据库连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version> </dependency> <!--分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> |
2、Application.properties增加配置
2.1 Application.properties增加数据源和连接池
在全局application.properties里增加数据源
# 驱动配置信息 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url = jdbc:mysql://127.0.0.1:3306/myspringboot spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
# 连接池的配置信息 # 初始化大小,最小,最大 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 FROM DUAL spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false 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 |
2.2 Application.properties增加mybatis的配置
在全局application.properties里增加mybatis配置文件的路径
#mybatis全局配置文件 mybatis.config-location=classpath:mybatis/mybatis-config.xml #entity扫描的包名,为了使用别名,如果不实用别名也可以不配置 mybatis.type-aliases-package=com.xiaolyuh.domain.model #Mapper.xml所在的位置 mybatis.mapper-locations=classpath:mybatis/mapping/*Mapper.xml |
2.3 Application.properties里增加分页配置
在全局application.properties里增加
#pagehelper分页插件配置 pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql |
3、Mybatis-config.xml
在src/main/resources/mybatis下创建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> </configuration> |
4、增加pojo文件
把用Auto_Generated_Code把生成的每个pojo类copy到model包下面
package com.mixtmt.model;
public class User { private Integer id; private String name; private String sex; private String phone;
public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex == null ? null : sex.trim(); } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone == null ? null : phone.trim(); } } |
5、增加mapping文件
把用Auto_Generated_Code把生成的每个pojo的mapping映射文件都copy到src/main/resources/mybatis/mapping下,比如我的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.winter.cba.dao.UserMapper" > <resultMap id="BaseResultMap" type="com.winter.cba.model.User" > <id column="id" property="id" jdbcType="INTEGER" /> <result column="name" property="name" jdbcType="VARCHAR" /> <result column="sex" property="sex" jdbcType="VARCHAR" /> <result column="phone" property="phone" jdbcType="VARCHAR" /> </resultMap> <sql id="Base_Column_List" > id, name, sex, phone </sql> <select id="selectAllUsers" resultMap="BaseResultMap" > select <include refid="Base_Column_List" /> from user </select> </mapper> |
6、增加Mapper类
把用Auto_Generated_Code生成的mapper文件copy到dao包下面
Ps:把mapper能够依赖注入有两种方法
- 在Mapper接口上需要加上@Mapper注解,@Mapper注解声明成mybatis Dao层的Bean。
- application启动配置类上使用@MapperScan("com.ll.dao")注解声明。
public interface UserMapper {
//获取所有数据 List<User> selectAllUsers(); } |
7、增加service类
@Service public class UserService {
@Autowired private UserMapper userMapper;
public List<User> getAllUsers(){ return userMapper.selectAllUsers(); } } |
Ps:通过@Autowired注入Mapper接口时如果用idea开发工具会报找不到对应bean的错误。但实际上项目是正常运行的,可在File -- Settings -- Inspections。在Spring Core -- Autowring for Bean Class 中,将Severity的级别由之前的error改成warning。
8、增加controller类
@Controller public class UserController {
@Autowired private UserService userService;
@RequestMapping("getAllUsers") @ResponseBody public List<User> getAllUsers(){ return userService.getAllUsers(); } } |
9、application类增加@MapperSan注解
@SpringBootApplication @MapperScan("com.ll.dao") public class SpringbootApplication {
public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); }
} |