千家信息网

Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完
千家信息网最后更新 2026年11月03日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安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 科技赋能下的互联网金融 互联网科技资迅 互联网 科技创新 合肥互联网科技公司 丰台科技园 互联网公司 上海电发互联网科技有限公司 深圳市运趣互联网科技有限公司 常德市电业局互联网科技部 互联网科技扶贫时间 燊美集互联网科技有限公司 内蒙古九一互联网科技 广州新华互联网科技学校电竞方面 明优互联网科技有限公司 广州千川互联网科技有限公司 互联网风格科技公司名称 广州梦谷互联网科技有限公司领导 广州智享互联网科技 青岛易易互联网科技 利用互联网等科技手段 互联网科技工作委员会主任 鸠鸠互联网科技 深圳互联网科技公司 迪茉互联网科技 成都狮子座互联网科技 银川新华互联网科技职业技术培训学校图片 互联网科技圈年度人物 卡尔迅互联网科技有限公司 广州有谷有贝互联网科技有限公司 陕西彩京云互联网科技有限公司
0