SpringBoot整合MyBatis【数据库连接】
1、pom文件引入
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- 测试 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!-- mysql 依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- springboot-web组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2、application.properties配置文件
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3、配置DataSourceConfig ;
package com.yuhuiqing.config;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Configuration
@MapperScan(basePackages = "com.yuhuiqing.mapper", sqlSessionFactoryRef = "SqlSessionFactory")
public class DataSourceConfig {
@Bean(name = "DataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource testDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "SqlSessionFactory")
public SqlSessionFactory testSqlSessionFactory(@Qualifier("DataSource") DataSource dataSource)
throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));
return bean.getObject();
}
@Bean(name = "TransactionManager")
public DataSourceTransactionManager testTransactionManager(@Qualifier("DataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
@Bean(name = "SqlSessionTemplate")
public SqlSessionTemplate testSqlSessionTemplate(
@Qualifier("SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
4、创建对应的Mapper层service层就可以直接连接使用了!
<?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.yuhuiqing.mapper.CountManageMapper" >
<select id="getInfo" parameterType="com.yuhuiqing.entities.CountManage" resultType="com.yuhuiqing.entities.CountManage">
SELECT
ID id,
HQ_TITLE hqTitle,
HQ_COUNT hqCount,
HQ_PASSWORD hqPassword,
HQ_LINKADD hqLinkadd
FROM COUNT_MANAGE
WHERE ISDELETE='N'
<if test="hqTitle != null and hqTitle != ''">
and HQ_TITLE like concat('%',#{hqTitle},'%')
</if>
</select>
<insert id="add" parameterType="com.yuhuiqing.entities.CountManage" >
insert into COUNT_MANAGE(HQ_TITLE,
HQ_COUNT ,
HQ_PASSWORD ,
HQ_LINKADD,
HQ_REMARK)
values (#{hqTitle},#{hqCount},#{hqPassword},#{hqLinkadd},#{hqRemark})
</insert>
<update id="delete" parameterType="com.yuhuiqing.entities.CountManage" >
update COUNT_MANAGE set ISDELETE='Y' where ID=#{id}
</update>
<update id="update" parameterType="com.yuhuiqing.entities.CountManage" >
update COUNT_MANAGE set ID=#{id}
<if test="hqTitle != null and hqTitle != ''">
, HQ_TITLE = #{hqTitle}
</if>
<if test="hqCount != null and hqCount != ''">
, HQ_COUNT = #{hqCount}
</if>
<if test="hqPassword != null and hqPassword != ''">
, HQ_PASSWORD = #{hqPassword}
</if>
<if test="hqLinkadd != null and hqLinkadd != ''">
, HQ_LINKADD = #{hqLinkadd}
</if>
<if test="hqRemark != null and hqRemark != ''">
, HQ_REMARK = #{hqRemark}
</if>
where ID=#{id}
</update>
</mapper>
以上内容原创来自每特学院,每特学员学习并整理!
给学院打波广告:
http://www.mayikt.com/
浙公网安备 33010602011771号