springboot 系统学习3 mybatis
2017-10-22 18:36
183 查看
本文主要讲一下springboot 集成mybatis的一些步骤
后天默认有两个数据库哦
首先贴一下配置文件
数据库配置类
先写一个集成父类
然后贴上 mybatis自动生成的代码
好了
后天默认有两个数据库哦
首先贴一下配置文件
druid: type: com.alibaba.druid.pool.DruidDataSource smaug: driver-class-name: com.mysql.cj.jdbc.Driver initial-size: 10 min-idle: 1 max-active: 10 test-on-borrow: true demo: url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&allowMultiQueries=true&useSSL=false username: root password: 123456 article: url: jdbc:mysql://localhost:3306/xiaoyun?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&allowMultiQueries=true&useSSL=false username: root password: 123456
数据库配置类
先写一个集成父类
package smaug.cloud.provider.dbConfig; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; /** * Created by naonao on 17/10/15. */ @Configuration public class DbConfigConst { @Value("${druid.smaug.driver-class-name}") public String driverClassName = "com.mysql.cj.jdbc.Driver"; @Value("${druid.smaug.initial-size}") public int initialSize; @Value("${druid.smaug.min-idle}") public int minIdle; @Value("${druid.smaug.max-active}") public int maxActive; @Value("${druid.smaug.test-on-borrow}") public boolean testOnBorrow; /** * demo 数据库 */ @Value("${druid.smaug.demo.url}") public String demoUrl; @Value("${druid.smaug.demo.username}") public String demoUsername; @Value("${druid.smaug.demo.password}") public String demoPassword; /** * */ @Value("${druid.smaug.article.url}") public String articleUrl; @Value("${druid.smaug.article.username}") public String articleUsername; @Value("${druid.smaug.article.password}") public String articlePassword; }
package smaug.cloud.provider.dbConfig; import com.alibaba.druid.pool.DruidDataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; 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; /** * Created by naonao on 17/8/5. */ @Configuration @MapperScan(basePackages = ArticleDBConfig.MAPPER_PACKAGE, sqlSessionFactoryRef = "articleSqlSessionFactory") public class ArticleDBConfig extends DbConfigConst{ /** * mapper 地址 */ public static final String MAPPER_PACKAGE = "smaug.cloud.provider.mapper.article"; public static final String XML_PACKAGE = "classpath:mybatis/article/*.xml"; @Bean(name = "articleDBSource") @Primary public DataSource articleDBSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(articleUrl); dataSource.setUsername(articleUsername); dataSource.setPassword(articlePassword); dataSource.setEnable(true); dataSource.setMaxActive(1000); return dataSource; } @Bean(name = "articleTransactionManager") @Primary public DataSourceTransactionManager articleTransactionManager() { return new DataSourceTransactionManager(articleDBSource()); } @Bean(name = "articleSqlSessionFactory") @Primary public SqlSessio 4000 nFactory articleSqlSessionFactory(@Qualifier("articleDBSource") DataSource articleDBSource) throws Exception { final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(articleDBSource); sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources(ArticleDBConfig.XML_PACKAGE)); return sessionFactory.getObject(); } }
package smaug.cloud.provider.dbConfig; import com.alibaba.druid.pool.DruidDataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; /** * Created by naonao on 17/7/16. */ @Configuration @MapperScan(basePackages = UserDBConfig.MAPPER_PACKAGE, sqlSessionFactoryRef = "demoSqlSessionFactory") public class UserDBConfig extends DbConfigConst { /** * mybatis 实体类 */ public static final String MAPPER_PACKAGE = "smaug.cloud.provider.mappers.demo"; /** * sql xml */ public static final String MAPPER_LOCATION = "classpath:mybatis/demo/*.xml"; @Bean(name = "demoDBSource") public DataSource demoDBSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(demoUrl); dataSource.setUsername(demoUsername); dataSource.setPassword(demoPassword); dataSource.setEnable(true); dataSource.setMaxActive(1000); return dataSource; } @Bean(name = "demoTransactionManager") public DataSourceTransactionManager demoTransactionManager() { return new DataSourceTransactionManager(demoDBSource()); } @Bean(name = "demoSqlSessionFactory") public SqlSessionFactory demoSqlSessionFactory(@Qualifier("demoDBSource") DataSource demoDBSource) throws Exception { final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(demoDBSource); sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources(UserDBConfig.MAPPER_LOCATION)); return sessionFactory.getObject(); } }
然后贴上 mybatis自动生成的代码
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--数据库驱动--> <classPathEntry location="/Users/cindy/.gradle/caches/modules-2/files-2.1/mysql/mysql-connector-java/5.1.35/b6ac941b7288376a7e8bc6490264bbd4427fb94e/mysql-connector-java-5.1.35.jar"/> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--数据库链接地址账号密码--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/xiaoyun?useUnicode=true&useSSL=false&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&allowMultiQueries=true" userId="root" password="123456"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!--生成Model类存放位置--> <javaModelGenerator targetPackage="smaug.cloud.data.entity.article" targetProject="../../../../src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--生成映射文件存放位置--> <sqlMapGenerator targetPackage="../../mybatis/article" targetProject="../../resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!--生成Dao类存放位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="smaug.cloud.data.mapper.article" targetProject="../../../../src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!--生成对应表及类名--> <table tableName="article" domainObjectName="ArticleEntity" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> <generatedKey column="D_ID" sqlStatement="MYSQL" identity="true"/> <columnRenamingRule searchString="^D_" replaceString=""/> </table> </context> </generatorConfiguration>
好了
相关文章推荐
- 【系统学习SpringBoot】SpringBoot初遇Spring-Data-JPA
- 【系统学习SpringBoot】SpringBoot新建HelloWorld工程(IDEA)
- 【系统学习SpringBoot】SpringBoot读取Property配置
- 【系统学习SpringBoot】springBoot整合Mybatis
- linux基础操作学习草稿(试验系统fedora)
- 分布式架构系统学习笔记(二)
- 操作系统处理器调度(CPU调度)的学习以及批处理系统中采用的调度算法、交互式系统中采用的调度算法
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建
- [Linux学习笔记] Linux系统引导流程(二)
- iOS学习笔记28-系统服务(一)短信和邮件
- 基于vue.js后台管理系统框架学习
- 20135213-信息安全系统设计基础第四周学习总结
- 信息安全系统设计基础第四周学习总结------20135334赵阳林
- Hadoop学习之java连接HDFS文件系统
- 数据库系统概论学习笔记----讲3.关系代数
- 20135219洪韶武——信息安全系统设计基础第四周学习总结
- 运营商大数据学习流程:业务-系统-数据
- (转)十年经验教你如何学习嵌入式系统(基于ARM平台)
- 系统学习C++(1)
- (一)ROS系统命令学习