包名 | 說明 |
---|---|
com.kk.configuration | 數據庫配置層 |
com.kk.testcss.controller | 控制層 |
com.kk.testcss.dao | 數據庫操做層,又分了不一樣的兩個包,分別操做數據源1 和 數據源2 |
com.kk.testcss.service | 業務邏輯層 |
com.kk.model | 實體類 |
com.kk.Application | 啓動類 |
springboot 主配置文件 application.properties 文件添加數據庫的基本信息css
#數據源1 network.datasource.url=jdbc:mysql://127.0.0.1:3306/db2?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false network.datasource.username=root network.datasource.password=root network.datasource.driverClassName=com.mysql.jdbc.Driver #數據源2 message.datasource.url=jdbc:mysql://127.0.0.1:3306/db2?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false message.datasource.username=root message.datasource.password=root message.datasource.driverClassName=com.mysql.jdbc.Driver
pom.xml 文件以下前端
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.kk</groupId> <artifactId>csstestdemo1</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>csstestdemo1</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.8.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </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.3.0</version> </dependency> <!-- Druid 數據鏈接池依賴 不能支持sqlserver 2000--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.25</version> </dependency> <!--sql server 2000 依賴--> <dependency> <groupId>com.microsoft</groupId> <artifactId>sql-server</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/mssqlserver2.jar</systemPath> </dependency> <!--freemarker前端頁面模板依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
package com.kk.configuration; import com.kk.testcss.utils.InitialDatabase; 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.beans.factory.annotation.Value; 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.kk.configuration.NetworkConfig.PACKAGE, sqlSessionFactoryRef = "NetworkSqlSessionFactory") public class NetworkConfig { static final String PACKAGE = "com.kk.testcss.dao.network"; static final String MAPPER_LOCATION = "classpath:mapper/network/*.xml"; @Value("${network.datasource.driverClassName}") private String driverClass; @Value("${network.datasource.url}") private String url; @Value("${network.datasource.username}") private String user; @Value("${network.datasource.password}") private String password; @Bean(name = "NetworkDataSource") @Primary public DataSource NetworkDataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClass); dataSource.setUrl(url); dataSource.setUsername(user); dataSource.setPassword(password); return dataSource; } @Bean(name = "NetworkTransactionManager") @Primary public DataSourceTransactionManager NetworkTransactionManager() { return new DataSourceTransactionManager(NetworkDataSource()); } @Bean(name = "NetworkSqlSessionFactory") @Primary public SqlSessionFactory NetworkSqlSessionFactory(@Qualifier("NetworkDataSource") DataSource NetworkDataSource) throws Exception { final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(NetworkDataSource); sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(com.kk.configuration.NetworkConfig.MAPPER_LOCATION)); return sessionFactory.getObject(); } }
package com.kk.configuration; import com.microsoft.jdbcx.sqlserver.SQLServerDataSource; 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.beans.factory.annotation.Value; 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; @Configuration @MapperScan(basePackages = com.kk.configuration.MessageConfig.PACKAGE, sqlSessionFactoryRef = "MessageSqlSessionFactory") public class MessageConfig { static final String PACKAGE = "com.kk.testcss.dao.message"; static final String MAPPER_LOCATION = "classpath:mapper/message/*.xml"; @Value("${message.datasource.driverClassName}") private String driverClass; @Value("${message.datasource.url}") private String url; @Value("${message.datasource.username}") private String user; @Value("${message.datasource.password}") private String password; @Bean(name = "MessageDataSource") @Primary public DataSource NetworkDataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClass); dataSource.setUrl(url); dataSource.setUsername(user); dataSource.setPassword(password); return dataSource; } @Bean(name = "MessageTransactionManager") public DataSourceTransactionManager MessageTransactionManager() { return new DataSourceTransactionManager(MessageDataSource()); } @Bean(name = "MessageSqlSessionFactory") public SqlSessionFactory MessageSqlSessionFactory(@Qualifier("MessageDataSource") DataSource MessageDataSource) throws Exception { final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(MessageDataSource); sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(com.kk.configuration.MessageConfig.MAPPER_LOCATION)); return sessionFactory.getObject(); } }