Spring Boot:Spring Boot配置Mybatis
標簽:
SpringBoot
1. maven引入依赖
<!-- 数据库连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- mybatis 依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis-spring-boot.version}</version> </dependency> <!-- jdbc支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector-java.version}</version> </dependency>
2. 设置Druid数据源
添加SingleDataSourceConfig.java
配置文件,整合Druid数据源
/** * 数据源配置 * @Auther: hrabbit * @Date: 2018-12-19 11:18 AM * @Description: */@Configuration@MapperScan({"com.hrabbit.admin.modual.system.mapper"})public class SingleDataSourceConfig { /** * Druid配置 */ @Bean @ConfigurationProperties(prefix = "spring.datasource") public DruidProperties druidProperties() { return new DruidProperties(); } }
其中的DruidProperties.java
的配置信息如下(这里使用了Lombok,因此省略了get/set方法,不了解Lombok
的童鞋请搜索下):
/** * 数据库数据源配置 * @author hrabbit * @date 2018-11-21 11:18 */@Component@ConfigurationProperties(prefix = "spring.datasource")@Datapublic class DruidProperties { private String url = "jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull"; private String username = "root"; private String password = "root"; private String driverClassName = "com.mysql.jdbc.Driver"; private Integer initialSize = 2; private Integer minIdle = 1; private Integer maxActive = 20; private Integer maxWait = 60000; private Integer timeBetweenEvictionRunsMillis = 60000; private Integer minEvictableIdleTimeMillis = 300000; private String validationQuery = "SELECT 'x'"; private Boolean testWhileIdle = true; private Boolean testOnBorrow = false; private Boolean testOnReturn = false; private Boolean poolPreparedStatements = true; private Integer maxPoolPreparedStatementPerConnectionSize = 20; private String filters = "stat"; public void config(DruidDataSource dataSource) { dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setDriverClassName(driverClassName); dataSource.setInitialSize(initialSize); //定义初始连接数 dataSource.setMinIdle(minIdle); //最小空闲 dataSource.setMaxActive(maxActive); //定义最大连接数 dataSource.setMaxWait(maxWait); //最长等待时间 // 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 dataSource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); // 配置一个连接在池中最小生存的时间,单位是毫秒 dataSource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); dataSource.setValidationQuery(validationQuery); dataSource.setTestWhileIdle(testWhileIdle); dataSource.setTestOnBorrow(testOnBorrow); dataSource.setTestOnReturn(testOnReturn); // 打开PSCache,并且指定每个连接上PSCache的大小 dataSource.setPoolPreparedStatements(poolPreparedStatements); dataSource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize); try { dataSource.setFilters(filters); } catch (SQLException e) { e.printStackTrace(); } } }
3.配置application.yml
文件中的mapper.xml的存放路径
### 启动端口号server: port: 8080### 设置数据库spring: datasource: url: jdbc:mysql://127.0.0.1:3306/hrabbit_admin?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false username: root password: root### 配置Mybatismybatis: ### xml存放路径 mapper-locations: classpath:mapper/*Mapper.xml
mapper.xml的路径resources/mapper/*.Mapper.xml
如下:
image.png
4. 创建SysUserMapper.java
的接口:
创建一个根据id查询的接口:
/** * 系统用户数据库层 * @Auther: hrabbit * @Date: 2018-12-19 12:02 PM * @Description: */public interface SysUserMapper { /** * 根据id查询用户信息 * @param id * @return */ SysUser findSysUserById(@Param("id") Long id); }
5. 在SysUserMapper.xml
编写sql语句:
<?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.hrabbit.admin.modual.system.mapper.SysUserMapper"> <!-- 根据用户id获取角色信息 --> <select id="findSysUserById" resultType="com.hrabbit.admin.modual.system.bean.SysUser"> select * from sys_user where id=#{id}; </select></mapper>
6. 启动项目,在Postman访问获取用户信息的接口:
image.png
作者:hrabbits
链接:https://www.jianshu.com/p/5a372d096597
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦