当前位置: 首页 > news >正文

网站建栏目建那些手机视频网站设计

网站建栏目建那些,手机视频网站设计,深圳网站制作公司流程,网站怎么做直播功能目录 背景技术选型配置多数据源思路(以两个为例)代码实现1.导入依赖2.各自的配置 3.各自的dataSourcenews数据库的smbms数据库的注意#xff1a;Primary注解 4.各自的SqlSessionFactory等news数据库的smbms数据库的 5.去掉启动类头上的MapperScan6.各自的mapper接口7.各自的ma… 目录 背景技术选型配置多数据源思路(以两个为例)代码实现1.导入依赖2.各自的配置 3.各自的dataSourcenews数据库的smbms数据库的注意Primary注解 4.各自的SqlSessionFactory等news数据库的smbms数据库的 5.去掉启动类头上的MapperScan6.各自的mapper接口7.各自的mapper.xml8.测试 背景 在单数据源的情况下Spring Boot的配置非常简单只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展我们通常会进行数据库拆分或是引入其他数据库从而我们需要配置多个数据源 技术选型 SpringBoot2.3.12jdk1.8mysql5.7持久层框架mybatis 配置多数据源思路(以两个为例) 要执行两个数据库的操作就需要有两个数据库配置有两个数据库配置那就要两个SqlSessionBuilder来创建SqlSessionFactory有两个SqlSessionFactory就能创建两个数据库自己的sqlSession然后就能执行不同数据库的操作了现在用的都是数据库连接池需要创建dataSource因此按照上面的思路也需要有各自数据库的dataSource用各自的dataSource创建各自的SqlSessionFactory继而创建各自的SqlSessionTemplate当然事务管理器也应该是用各自的dataSource来创建那么各自的SqlSessionFactory就要扫描各自的mapper层因此就需要有各自的mapper包至于各自的mapper.xml可以放在一起也可以不放在一起因为mapper.xml中的namespace是根据包名来映射的 代码实现 1.导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.21/version/dependency!-- 阿里数据库连接池 --dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.0.9/version/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.1/version/dependency2.各自的配置 server:port: 8888logging:level:org.springframework.web: debugcom.kgc.mapper: debug spring:datasource:smbms:driverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/smbms?useSSLfalseuseUnicodetruecharacterEncodingutf-8serverTimezoneAsia/Shanghaiusername: rootpassword: 123456news:driverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/chinanewsdb?useSSLfalseuseUnicodetruecharacterEncodingutf-8serverTimezoneAsia/Shanghaiusername: rootpassword: 123456mybatis:mapper-locations: classpath:mybatis/mapper/*.xmltype-aliases-package: com.kgc.pojonews:mapper-locations: classpath:mybatis/newsmapper/*.xml # configuration: # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl3.各自的dataSource news数据库的 package com.kgc.config;import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary;import javax.sql.DataSource;/*** author: zjl* datetime: 2024/4/20* desc:*/ Configuration //ConfigurationProperties(prefix spring.datasource.news) public class NewsDataSourceConfig {Value(${spring.datasource.news.driverClassName})private String driverClassName;Value(${spring.datasource.news.url})private String url;Value(${spring.datasource.news.username})private String username;Value(${spring.datasource.news.password})private String password;Bean(newsDataSource)public DataSource createDataSource() {DruidDataSource dataSource new DruidDataSource();dataSource.setDriverClassName(driverClassName);dataSource.setUrl(url);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;} }smbms数据库的 package com.kgc.config;import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary;import javax.sql.DataSource;/*** author: zjl* datetime: 2024/4/20* desc:*/ Configuration //ConfigurationProperties(prefix spring.datasource.smbms) public class SmbmsDataSourceConfig {Value(${spring.datasource.smbms.driverClassName})private String driverClassName;Value(${spring.datasource.smbms.url})private String url;Value(${spring.datasource.smbms.username})private String username;Value(${spring.datasource.smbms.password})private String password;Bean(smbmsDataSource)Primarypublic DataSource createDataSource() {DruidDataSource dataSource new DruidDataSource();dataSource.setDriverClassName(driverClassName);dataSource.setUrl(url);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;} }注意Primary注解 其作用与功能当有多个相同类型的bean时使用Primary来赋予bean更高的优先级。在这里需要注册多个相同DataSource类型的bean要有一个有更高的优先级否则会报错 4.各自的SqlSessionFactory等 news数据库的 package com.kgc.config;import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; 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 org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.annotation.Resource; import javax.sql.DataSource;/*** author: zjl* datetime: 2024/4/20* desc:*/ Configuration EnableTransactionManagement MapperScan(value com.kgc.news.mapper,sqlSessionFactoryRef newsSqlSessionFactory) public class NewsSqlSessionFactoryConfiguratiion {Resource(name newsDataSource)private DataSource newsDataSource;Value(${mybatis.news.mapper-locations})private String mapperLocations;Bean(newsSqlSessionFactory)public SqlSessionFactory create() throws Exception {SqlSessionFactoryBean bean new SqlSessionFactoryBean();bean.setDataSource(newsDataSource);PathMatchingResourcePatternResolver resourcePatternResolver new PathMatchingResourcePatternResolver();bean.setMapperLocations(resourcePatternResolver.getResources(mapperLocations));return bean.getObject();}Bean(newsSqlSessionTemplate)public SqlSessionTemplate createSqlSession(Qualifier(newsSqlSessionFactory) SqlSessionFactory sqlSessionFactory){return new SqlSessionTemplate(sqlSessionFactory);}Bean(newsTransactionManager)public PlatformTransactionManager createTransactionManager(){return new DataSourceTransactionManager(newsDataSource);} }smbms数据库的 package com.kgc.config;import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; 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 org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.annotation.Resource; import javax.sql.DataSource; import java.io.IOException;/*** author: zjl* datetime: 2024/4/20* desc:*/ Configuration EnableTransactionManagement MapperScan(value com.kgc.mapper,sqlSessionFactoryRef smbmsSqlSessionFactory) public class SmbmsSqlSessionFactoryConfiguratiion {Resource(name smbmsDataSource)private DataSource smbmsDataSource;Value(${mybatis.mapper-locations})private String mapperLocations;Bean(smbmsSqlSessionFactory)public SqlSessionFactory create() throws Exception {SqlSessionFactoryBean bean new SqlSessionFactoryBean();bean.setDataSource(smbmsDataSource);PathMatchingResourcePatternResolver resourcePatternResolver new PathMatchingResourcePatternResolver();bean.setMapperLocations(resourcePatternResolver.getResources(mapperLocations));return bean.getObject();}Bean(smbmsSqlSessionTemplate)public SqlSessionTemplate createSqlSession(Qualifier(smbmsSqlSessionFactory) SqlSessionFactory sqlSessionFactory){return new SqlSessionTemplate(sqlSessionFactory);}Bean(smbmsTransactionManager)public PlatformTransactionManager createTransactionManager(){return new DataSourceTransactionManager(smbmsDataSource);} }5.去掉启动类头上的MapperScan SpringBootApplication //MapperScan(basePackages {com.kgc.mapper}) public class BootdemoApplication {public static void main(String[] args) {SpringApplication.run(BootdemoApplication.class, args);} }6.各自的mapper接口 public interface UserMapper {int selectCount(); }public interface NewsMapper {int selectCount(); }7.各自的mapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.kgc.mapper.UserMapperselect idselectCount resultTypeintSELECT COUNT(1) FROM SMBMS_USER/select /mapper?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.kgc.news.mapper.NewsMapperselect idselectCount resultTypeintSELECT COUNT(1) FROM news_detail/select /mapper8.测试 service Service public class UserService {Resourceprivate UserMapper userMapper;Resourceprivate NewsMapper newsMapper;public Integer allCount(){return userMapper.selectCount() newsMapper.selectCount();} }controller RestController public class UserController {Resourceprivate UserService userService;RequestMapping(/all)public Object all(){return userService.allCount();} }
http://www.zqtcl.cn/news/39508/

相关文章:

  • 商务网站建设 视频网站的建设技术有哪些
  • 大城县网站建设网站百度地图代码
  • 太原网站优化wordpress 用户前端
  • 校园微网站建设网页设计作品赏析
  • 哪个网站可以做印章图案电脑浏览器打不开网页是什么原因
  • 网站建设的功能模块大数据培训费用多少钱
  • 医药网站建设的需求分析宿州网站建设报价
  • 汕头网站推广多少钱成都甲壳虫品牌设计公司
  • 加外链网站外贸圈名人堂
  • 滦南网站建设推广网站建设的经济效益
  • 小甲鱼网站开发高端网站制作的公司
  • 优惠劵网站怎么做怎么自己做网页链接
  • 有什么网站做生鲜配送的外贸网站建设深圳
  • wordpress的结构哈尔滨seo搜索优化
  • 网站建设主要包括深圳网站设计公司费用多少
  • 周口微网站制作电脑软件推广平台
  • 网站开发使用软件建筑工程有限公司电话
  • 网站推广网站做网站给韩国卖高仿
  • 陕西高速公路建设集团网站企业网站怎么备案
  • 婚礼礼服网站界面设计宣传片拍摄设备
  • 有源码手机怎么搭建网站深圳网站搭建哪里找
  • 惠州品牌网站建设公司哪里有网站图片360度旋转怎么做的
  • 响应式网站模版人才网站建设方案
  • 宏信网络网站建设建设电影网站代码
  • 用的最多的设计网站是哪个wordpress写文件到磁盘失败
  • 服装公司网站网页设计外贸平台有哪些比较好 免费
  • 中国优秀的企业网站双创网站建设
  • 企业网站注册什么叫互联网
  • 网站新闻对百度优化有用吗网站的主机地址
  • 长沙网站制作多少钱应用软件开发包括什么