Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,小编给大家分享一下Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完
千家信息网最后更新 2024年09月22日Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置
小编给大家分享一下Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
一、 在application.properties中设置数据源
#设置Tomcat端口,默认8080server.port=8080#设置项目ContextPathserver.context-path=/#设置Tomcat编码server.tomcat.uri-encoding=UTF-8#设置视图解析器路径spring.mvc.view.prefix=/WEB-INF/views/#设置视图解析器后缀spring.mvc.view.suffix=.jsp#数据库配置mybatis generatorspring.datasource.driver-class-name = com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis?setUnicode=true&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=root#数据库配置spring.datasource.test.driver-class-name = com.mysql.jdbc.Driverspring.datasource.test.jdbc-url=jdbc:mysql://localhost:3306/mybatisspring.datasource.test.username=rootspring.datasource.test.password=root#配置.xml文件路径mybatis.mapper-locations=classpath:/com/kai/demo/mapper/*.xml#配置模型路径mybatis.type-aliases-package=com.kai.demo.model
二、DataSource创建,DataSourceConfig.java
@Configuration@MapperScan(basePackages = "com.kai.demo.dao")@Primary@PropertySource("classpath:application.properties")public class DataSourceConfig { //mybatis 的mapper配置文件地址 @Value("${mybatis.mapper-locations}") private String mybatisMapper; @Primary @Bean(name = "testDataSource") @ConfigurationProperties(prefix = "spring.datasource.test") public DataSource testDataSource() { return DataSourceBuilder.create().build(); } @Primary @Bean(name = "testSqlSessionFactory") public SqlSessionFactory testSqlSessionFactory(@Qualifier("testDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mybatisMapper)); try { return bean.getObject(); }catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } @Primary @Bean(name = "testTransactionManager") public DataSourceTransactionManager testTransactionManager(@Qualifier("testDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Primary @Bean(name = "testSqlSessionTemplate") public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("testSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { return new SqlSessionTemplate(sqlSessionFactory); }}
指定要扫描的Mapper类的包的路径,如果不指定,需要在每个Mapper类里添加@Mapper注解
@MapperScan(basePackages = "com.kai.demo.dao")
指定配置文件地址,配置文件是application.properties时,可以省略
@PropertySource("classpath:application.properties")
当有多个数据源配置是,使用@Primary指定当前数据库为主要的数据源
指名用的是哪个数据源,testDataSource为DataSourceConfg开始创建的数据源
@Qualifier("testDataSource")
进行了自定义的DataSource的话,Application.java 中需要加(exclude= {DataSourceAutoConfiguration.class})来排除掉自动配置的DataSource
@EnableAutoConfiguration(exclude= {DataSourceAutoConfiguration.class})
三、如果使用的Spring Boot自动配置的DataSource,只需要进行MapperLocation配置就可使用Mybatis了
@Configuration@MapperScan(basePackages = "com.kai.demo.dao")@Primarypublic class DefaultDataSource { //mybatis 的mapper配置文件地址 @Value("${mybatis.mapper-locations}") private String mybatisMapper; @Bean public SqlSessionFactory setSqlSessionFactory(DataSource dataSource) throws IOException { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mybatisMapper)); try { return bean.getObject(); }catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } }}
这个时候Appliation.java中就不能有(exclude= {DataSourceAutoConfiguration.class})
以上是"Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
配置
数据
数据源
文件
路径
地址
数据库
篇文章
环境
内容
视图
不怎么
后缀
多个
大部分
时候
更多
模型
注解
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
cn域名 根服务器
软件开发起步
pinot数据库 翔
向党说句心里话网络安全书信征文
安卓手机软件开发师
网络安全价检查 方案
河南天启网络技术科技公司
小布什美国网络安全
网络安全感受200字
一百万人游戏需要多少服务器
网络安全画 一等奖难度高
服务器如何使用安全
软件开发后销售
校园网络安全工作意义
网络安全的对策
网络安全审计系统一般不包括
以色列网络安全系统排名
软件开发兼职好做么
上海网络安全保护总队
数据库外键的表达形式
用友网络技术岗
软件开发阶段采用敏捷策略
西安ios软件开发培训
全加固服务器技术含量
大沥金科技互联网服务中心
数据库的物理结构设计论文格式
蚂蚁数据库收费
网络安全保障方案介绍
软件开发负责人绩效考核
三星pm1743服务器