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")
@Data
public 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
### 配置Mybatis
mybatis:
### xml存放路徑
mapper-locations: classpath:mapper/*Mapper.xml
mapper.xml的路徑resources/mapper/*.Mapper.xml
如下:
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訪問獲取用戶信息的接口:
歡迎訪問我的個人博客:http://www.hrabbit.xin