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

山西建设厅网站长沙做手机网站

山西建设厅网站,长沙做手机网站,网站开发重点难点分析,平阴县建设工程网站最近在学习SpringBoot的时候#xff0c;需要同时用两个不同的数据库连接服务#xff0c;在网上学习了之后#xff0c;下文以连接一个MySQL数据库和一个SqlServer数据库为例。 配置数据源连接信息 在配置文件中#xff0c;配置对应的数据库连接信息#xff0c;相比于单数…最近在学习SpringBoot的时候需要同时用两个不同的数据库连接服务在网上学习了之后下文以连接一个MySQL数据库和一个SqlServer数据库为例。 配置数据源连接信息 在配置文件中配置对应的数据库连接信息相比于单数据源时连接信息的url属性在多数据源时应该为jdbc-url请注意下图红色部分 application.yml spring:datasource:webproject:type: mysqldriver-class-name: com.mysql.cj.jdbc.Driverjdbc-url: jdbc:mysql://localhost:3306/webproject?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghaiusername: password: workcontent:type: sqlServerdriver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc-url: jdbc:sqlserver://localhost:1433;databaseNamemyDatabase;encrypttrue;trustServerCertificatetrue;characterEncodingutf8;username: password: Maven配置数据库驱动 由于新版的官方Sqlserver驱动不支持TLSv1, TLSv1.1我选择了较老的数据库驱动程序。 !-- sqlserver驱动 -- dependencygroupIdcom.microsoft.sqlserver/groupIdartifactIdmssql-jdbc/artifactIdversion7.4.1.jre11/version /dependency !-- MYSQL驱动 -- dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/version /dependency创建数据源配置类 以下文中的 WorkContentDataSourceConfig 为例基本的流程如下 配置类声明 配置要该数据源相关的Mapper所在的的包扫描和要注入的Sql工厂实例 创建数据源DataSource ConfigurationProperties 用于注入application.yml中配置的数据库连接信息 Primary 默认指定当前数据库多数据源下需要配置Primary不然SpringBoot会找不到数据源注入后续步骤最好也加上Primary 创建Sql工厂注册DataSource Qualifier 用于选择注入的bean对象 创建事务管理器 创建Sql模版对象 具体配置类信息如下 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.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; 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;/*** author yamu* version 1.0* description 工作库* date 2025/1/23 10:49*/ Configuration MapperScan(basePackages {org.cqw.baseproject.dao.workcontent},sqlSessionFactoryRef workContentSqlSessionFactory) public class WorkContentDataSourceConfig {Bean(name workContentDataSource)ConfigurationProperties(prefix spring.datasource.workcontent)Primarypublic DataSource dataSource() {return DataSourceBuilder.create().build();}Bean(name workContentSqlSessionFactory)Primarypublic SqlSessionFactory sqlSessionFactory(Qualifier(workContentDataSource) DataSource dataSource)throws Exception {SqlSessionFactoryBean bean new SqlSessionFactoryBean();bean.setDataSource(dataSource);bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(classpath:mapper/workcontent/*.xml));return bean.getObject();}Bean(name workContentTransactionManager)Primarypublic DataSourceTransactionManager transactionManager(Qualifier(workContentDataSource) DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}Bean(name workContentSqlSessionTemplate)Primarypublic SqlSessionTemplate sqlSessionTemplate(Qualifier(workContentSqlSessionFactory) SqlSessionFactory sqlSessionFactory) {return new SqlSessionTemplate(sqlSessionFactory);} }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.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; 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;/*** author yamu* version 1.0* description 项目库 * date 2025/1/23 10:49*/ Configuration MapperScan(basePackages {org.cqw.baseproject.dao.webproject}, sqlSessionFactoryRef webProjectSqlSessionFactory) public class WebProjectDataSourceConfig {Bean(name webProjectDataSource)ConfigurationProperties(prefix spring.datasource.webproject)public DataSource dataSource() {return DataSourceBuilder.create().build();}Bean(name webProjectSqlSessionFactory)public SqlSessionFactory sqlSessionFactory(Qualifier(webProjectDataSource) DataSource dataSource) throws Exception {SqlSessionFactoryBean bean new SqlSessionFactoryBean();bean.setDataSource(dataSource);bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(classpath:mapper/webproject/*.xml));return bean.getObject();}Bean(name webProjectTransactionManager)public DataSourceTransactionManager transactionManager(Qualifier(webProjectDataSource) DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}Bean(name webProjectSqlSessionTemplate)public SqlSessionTemplate sqlSessionTemplate(Qualifier(webProjectSqlSessionFactory) SqlSessionFactory sqlSessionFactory) {return new SqlSessionTemplate(sqlSessionFactory);} }创建实体 实体所在的包需要和创建配置类中的第一步的 配置类声明的MapperScan的basePackages值相对应。 package org.cqw.baseproject.dao.webproject; Repository public interface FunctionMenuDao {FunctionMenu queryById(int id);ListFunctionMenu queryAll(); }创建Mapper 由于有多个数据源所以在/resources/mapper里面需要区分不同的数据库即创建不同的文件夹每个数据源扫描自己的mapper .xml文件如下图所示注意和第三步创建Sql工厂注册DataSource的SqlSessionFactory中bean.setMapperLocations()里面的路径对应上对于Mapper.xml里面的配置这里就不具体说明了。 FunctionMenuMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.cqw.baseproject.dao.webproject.FunctionMenuDaoselect idqueryById resultTypeorg.cqw.baseproject.entity.FunctionMenuSELECT * FROM FunctionMenu WHERE id #{id}/selectselect idqueryAll resultTypeorg.cqw.baseproject.entity.FunctionMenuSELECT * FROM FunctionMenu WHERE isDel 0 AND status 1 ORDER BY depth, id/select /mapper测试 关于 Service 和 ServiceImpl 这里就省略了 FunctionMenuController RestController RequestMapping(/functionMenu) public class FunctionMenuController {Autowiredpublic FunctionMenuService functionMenuService;GetMapping(getAllMenuList)public String getAllMenuList() {var data functionMenuService.getAllMenuList();return R.success(data);//消息响应} }结果 public FunctionMenuService functionMenuService;GetMapping(getAllMenuList)public String getAllMenuList() {var data functionMenuService.getAllMenuList();return R.success(data);//消息响应} }结果
http://www.pierceye.com/news/145003/

相关文章:

  • 网站两边的悬浮框怎么做wordpress 非插件代码高亮
  • 网站安全管理制度建设下载网站建设公司哪家强
  • 网络直播网站开发长春市城乡建设部网站
  • 自己搭建服务器做网站要多久汕头网络推广电话
  • 除了昵图网还有什么做图网站深圳房地产网站开发
  • 网站建设哪家go好重庆怎样网站推广
  • 松江网站建设哪家好wordpress去掉父分类
  • 网站 云建站设计网站推荐室内
  • 网站怎么自适应屏幕云南建设投资集团网站
  • qq中心官方网站两个网站如何使用一个虚拟主机
  • 泰安网站制作推荐电脑网页游戏排行榜前十名
  • 石家庄最好的网站建设公司上海都有哪些企业公司
  • 网站的链接要怎么做官网制作公司
  • 学生成绩管理系统 网站建设站长之家源码下载
  • wap多用户网站微信端的网站开发python
  • 网络营销中自建网站厦门湖里区建设局网站
  • 公司建设网站的申请信用卡做盗版影视网站违法吗
  • 商务网站推广技巧包括什么移动网站开发教程
  • 北京网站备案域名温州制作网站公司
  • 门户网站建设工作流程做网站的背景图片
  • 用360云盘做网站简洁个人博客网站模板
  • 沈阳网站建设 网络服务wordpress媒体库图片不显示
  • 什么公司做网站出名大商创 多用户商城
  • 学校网站管理网站制作开发及优化是什么
  • wordpress获取所有标签页那些网站用不着做优化
  • 大有网网站现在较为常用的网站开发技术
  • 太原建站公司有哪些网站统计 wordpress
  • 网站轮播图怎么保存盛锡福网站
  • 做网站用百度浏览器网络营销案例分析试题
  • 当建设部门网站南宁网站的优化