一.打开pom.xml中进行mysql配置
<!--mysql jdbc驱动包配置-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mysql连接池配置-->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
二.mybatis配置
在src/main/resources下新建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 >
<!-- 配置全局属性 -->
<settings>
<!-- 使用jdbc的useGeneratedKeys获取数据库的自增主键值 -->
<setting name="useGeneratedKeys" value = "true" />
<!-- 使用标签替换列别名 -->
<setting name="useColumnLabel" value = "true" />
<!-- 开启驼峰命名转换 -->
<setting name="mapUnderscoreToCamelCase" value = "true" />
</settings>
</configuration>
如图:
三.dataSourse,sqlSessionFactory和service配置
在main/java包名下新建config包,然后在config下新建dao包,
在application.properties中添加常量属性,如下:
#设置请求端口号
server.port=8088
#设置请求根路径 所有的请求接口url都是以http://localhost:8088/zj 为开始
server.servlet.context-path=/zj
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/zjdemo?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc.user = root
jdbc.password = 123456
mybatis_config_file = mybatis-config.xml
#设置mybatis生成mapper的存放路径
mapper_path = /mapper/**.xml
#设置mybatis生成entity实体类的存放路径
entity_package = me.zhengjun.com.footdemo.entity
pageSize = 10
然后在需要用到的地方使用 @Value注解进行获取,例如获取jdbc.driver的值,就可以这样获取
@Value(“${jdbc.driver}”)
1.新建类dataSourse进行数据库连接配置
如下:
package me.zhengjun.com.footdemo.config.dao;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.beans.PropertyVetoException;
/**
* @desc 配置数据库连接
* @author zhengjun
* @create at 2018/4/26 10:54
*/
@Configuration
@MapperScan("me.zhengjun.com.footdemo.dao") //配置扫描的dao路径
public class DataSourseConfiguration {
@Value("${jdbc.driver}")
private String jdbcDriverClass;
@Value("${jdbc.url}")
private String jdbcUrl;
@Value("${jdbc.user}")
private String jdbcUserName;
@Value("${jdbc.password}")
private String jdbcPassWord;
@Bean(name = "dataSourse")
public ComboPooledDataSource createComboPooledDataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(jdbcDriverClass);
dataSource.setJdbcUrl(jdbcUrl);
dataSource.setUser(jdbcUserName);
dataSource.setPassword(jdbcPassWord);
//关闭连接后不自动commit
dataSource.setAutoCommitOnClose(false);
return dataSource;
}
}
2.新建类SessionFactoryConfiguration配置mybatis的sqlsessionfactory,如下:
package me.zhengjun.com.footdemo.config.dao;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import java.io.IOException;
import javax.sql.DataSource;
/**
* @author zhengjun
* @desc
* @create at 2018/4/26 11:08
*/
@Configuration
public class SessionFactoryConfiguration {
@Autowired
@Qualifier("dataSourse")
private DataSource dataSourse;
@Value("${mybatis_config_file}")
private String myBatisConfigPath;
@Value("${mapper_path}")
private String mapperPath;
@Value("${entity_package}")
private String entityPackage;
@Bean(name = "sqlSessionFactory")
public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(myBatisConfigPath));
PathMatchingResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
String packageSearchPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX+mapperPath;
sqlSessionFactoryBean.setMapperLocations(patternResolver.getResources(packageSearchPath));
sqlSessionFactoryBean.setDataSource(dataSourse);
sqlSessionFactoryBean.setTypeAliasesPackage(entityPackage);
return sqlSessionFactoryBean;
}
}
3.service配置,在config中新建service包,然后新建TransactionManagementConfigurer 类进行配置如下:
package me.zhengjun.com.footdemo.config.dao.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.TransactionManagementConfigurer;
import javax.sql.DataSource;
@Configuration
@EnableTransactionManagement
public class TransactionManagementConfiguration implements TransactionManagementConfigurer {
@Autowired
DataSource dataSource;
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
return new DataSourceTransactionManager(dataSource);
}
}
至此整个springboot+mybatis项目的配置就结束了,如果有想用generator自动生成mybatis的请参考我的这篇文章,链接: