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

果洛藏族自治州网站建设_网站建设公司_企业官网_seo优化

河田镇建设局网站,网站静态化对seo,我做的网站不知道网站怎么办,wordpress实现选择多标签页SpringBoot结合MyBatis实现多数据源配置 一、前提条件 1.1、环境准备 SpringBoot框架实现多数据源操作#xff0c;首先需要搭建Mybatis的运行环境。 由于是多数据源#xff0c;也就是要有多个数据库#xff0c;所以#xff0c;我们创建两个测试数据库#xff0c;分别是…SpringBoot结合MyBatis实现多数据源配置 一、前提条件 1.1、环境准备 SpringBoot框架实现多数据源操作首先需要搭建Mybatis的运行环境。 由于是多数据源也就是要有多个数据库所以我们创建两个测试数据库分别是【sp-demo01】和【sp-demo02】如下图所示 具体SQL代码 创建【sp-demo01】数据库。 -- 创建数据库 CREATE DATABASE sp-demo01;-- ---------------------------- -- Table structure for t_emp -- ---------------------------- DROP TABLE IF EXISTS t_emp; CREATE TABLE t_emp (emp_id int(11) NOT NULL AUTO_INCREMENT COMMENT 员工ID,emp_name varchar(255) NOT NULL COMMENT 员工姓名,age int(11) DEFAULT NULL COMMENT 年龄,dept_id int(11) NOT NULL COMMENT 部门ID,PRIMARY KEY (emp_id) ) ENGINEInnoDB AUTO_INCREMENT3002 DEFAULT CHARSETutf8;-- ---------------------------- -- Records of t_emp -- ---------------------------- INSERT INTO t_emp VALUES (2001, Lucy, 21, 1002); INSERT INTO t_emp VALUES (3001, Tom, 25, 1001);创建【sp-demo02】数据库。 -- 创建数据库 CREATE DATABASE sp-demo02;-- ---------------------------- -- Table structure for t_dept -- ---------------------------- DROP TABLE IF EXISTS t_dept; CREATE TABLE t_dept (dept_id int(11) NOT NULL AUTO_INCREMENT COMMENT 部门ID,dept_name varchar(255) NOT NULL COMMENT 部门名称,desc varchar(255) DEFAULT NULL COMMENT 描述,PRIMARY KEY (dept_id) ) ENGINEInnoDB AUTO_INCREMENT1003 DEFAULT CHARSETutf8;-- ---------------------------- -- Records of t_dept -- ---------------------------- INSERT INTO t_dept VALUES (1001, 研发部, 编写程序); INSERT INTO t_dept VALUES (1002, 测试部, 寻找bug);1.2、如何配置 MyBatis框架中提供了一个**【MapperScan】注解该注解作用是指定mapper接口所在的路径并且这个注解中也可以指定使用哪个【SqlSessionFactory】对象只需要通过该注解的【sqlSessionFactoryRef】**属性即可实现。 这里的SqlSessionFactory就相当于是一个数据库如果我们要配置多数据源那就相当于是要在工程里面创建多个SqlSessionFactory对象然后再使用的时候指定具体的SqlSessionFactory对象即可。 配置数据源需要创建三个对象分别是下面三个 第一个对象创建DataSource对象。第二个对象创建SqlSessionFactory对象。第三个对象创建SqlSessionTmplate对象。 知道了这个知识那就可以进行多数据源配置啦。 二、多数据源配置 这里我们就创建两个数据源作为测试案例两个数据源分别叫做【MasterDataSource】和【SlaveDataSource】。 2.1、创建数据源配置类 1创建Master配置类 在工程中创建一个【MasterDataSourceConfig】配置类代码如下所示 package com.spring.boot.demo.config;import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; import org.springframework.beans.factory.annotation.Qualifier; 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 org.springframework.core.io.support.PathMatchingResourcePatternResolver;import javax.sql.DataSource;/*** author Js* version 1.0.0* Date: 2023/09/06 19:16:30* Description*/ MapperScan(basePackages com.spring.boot.demo.master.mapper,sqlSessionFactoryRef masterSqlSessionFactory,sqlSessionTemplateRef masterSqlSessionTemplate ) Configuration public class MasterDataSourceConfig {// 默认指定 master 作为主数据源Primary// 注入数据源Bean(masterDataSource)// 指定 master 数据源的配置信息前缀ConfigurationProperties(prefix spring.datasource.master)public DataSource masterDataSource() {// 手动创建 Druid 数据源对象return DruidDataSourceBuilder.create().build();}// 创建 SqlSessionFactory 对象Bean(masterSqlSessionFactory)public SqlSessionFactory masterSqlSessionFactory(Qualifier(masterDataSource) DataSource masterDataSource) throws Exception {// 创建 SqlSessionFactoryBean 对象SqlSessionFactoryBean factoryBean new SqlSessionFactoryBean();// 设置数据源factoryBean.setDataSource(masterDataSource);// 设置 mapper 映射文件路径PathMatchingResourcePatternResolver resolver new PathMatchingResourcePatternResolver();factoryBean.setMapperLocations(resolver.getResources(classpath:mappers/master/**/*.xml));// 设置 VFSfactoryBean.setVfs(SpringBootVFS.class);// 返回 SqlSessionFactory 对象return factoryBean.getObject();}// 创建 SqlSessionTemplate 对象Bean(masterSqlSessionTemplate)public SqlSessionTemplate masterSqlSessionTemplate(Qualifier(masterSqlSessionFactory) SqlSessionFactory masterSqlSessionFactory) {// 创建 SqlSessionTemplate 对象return new SqlSessionTemplate(masterSqlSessionFactory);}}2创建Slave配置类 在工程中创建一个【SlaveDataSourceConfig】配置类代码如下所示 package com.spring.boot.demo.config;import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import javax.sql.DataSource;/*** author Js* version 1.0.0* Date: 2023/09/06 19:30:45* Description*/ MapperScan(basePackages com.spring.boot.demo.slave.mapper,sqlSessionFactoryRef slaveSqlSessionFactory,sqlSessionTemplateRef slaveSqlSessionTemplate ) Configuration public class SlaveDataSourceConfig {// 注入数据源Bean(slaveDataSource)// 指定 slave 数据源的配置信息前缀ConfigurationProperties(prefix spring.datasource.slave)public DataSource slaveDataSource() {// 手动创建 Druid 数据源对象return DruidDataSourceBuilder.create().build();}// 创建 SqlSessionFactory 对象Bean(slaveSqlSessionFactory)public SqlSessionFactory slaveSqlSessionFactory(Qualifier(slaveDataSource) DataSource slaveDataSource) throws Exception {// 创建 SqlSessionFactoryBean 对象SqlSessionFactoryBean factoryBean new SqlSessionFactoryBean();// 设置数据源factoryBean.setDataSource(slaveDataSource);// 设置 mapper 映射文件路径PathMatchingResourcePatternResolver resolver new PathMatchingResourcePatternResolver();factoryBean.setMapperLocations(resolver.getResources(classpath:mappers/slave/**/*.xml));// 设置 VFSfactoryBean.setVfs(SpringBootVFS.class);// 返回 SqlSessionFactory 对象return factoryBean.getObject();}// 创建 SqlSessionTemplate 对象Bean(slaveSqlSessionTemplate)public SqlSessionTemplate slaveSqlSessionTemplate(Qualifier(slaveSqlSessionFactory) SqlSessionFactory slaveSqlSessionFactory) {// 创建 SqlSessionTemplate 对象return new SqlSessionTemplate(slaveSqlSessionFactory);}}2.2、添加数据源配置信息 在【application.yml】中添加master、slave两个数据源的配置信息如下 # 配置数据源 spring:datasource:# master 数据源信息master:driver-class-name: com.mysql.cj.jdbc.Driver # 数据库驱动url: jdbc:mysql://localhost:3306/sp-demo01?serverTimezoneAsia/ShanghaiuseUnicodetruecharacterEncodingUTF-8 # 数据库地址username: rootpassword: root# slave 数据源信息slave:driver-class-name: com.mysql.cj.jdbc.Driver # 数据库驱动url: jdbc:mysql://localhost:3306/sp-demo02?serverTimezoneAsia/ShanghaiuseUnicodetruecharacterEncodingUTF-8 # 数据库地址username: rootpassword: root2.3、创建Mapper接口 1创建Master的mapper接口 在【com.spring.boot.demo.master.mapper】包下面创建【EmpMapper】类。 package com.spring.boot.demo.master.mapper;import com.spring.boot.demo.pojo.EmpBo;import java.util.List;public interface EmpMapper {/*** 查询所有员工*/ListEmpBo queryAll(); }2创建Slave的mapper接口 在【com.spring.boot.demo.slave.mapper】包下面创建【DeptMapper】类。 package com.spring.boot.demo.slave.mapper;import com.spring.boot.demo.pojo.DeptBo; import org.apache.ibatis.annotations.Param;public interface DeptMapper {/*** 根据 ID 查询部门* param deptId* return*/DeptBo getDeptById(Param(deptId) Integer deptId); }2.4、创建XML映射文件 1创建Master的XML映射文件 在【mappers/master】目录下面新建【EmpMapper.xml】映射文件。 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.spring.boot.demo.master.mapper.EmpMapperselect idqueryAll resultTypecom.spring.boot.demo.pojo.EmpBoselectemp_id as empId,emp_name as empName,age,dept_id as deptIdfrom t_emp/select /mapper2创建Slave的XML映射文件 在【mappers/slave】目录下面新建【DeptMapper.xml】映射文件。 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.spring.boot.demo.slave.mapper.DeptMapperselect idgetDeptById resultTypecom.spring.boot.demo.pojo.DeptBo parameterTypejava.lang.Integerselectdept_id as deptId,dept_name as deptNamefrom t_deptwhere dept_id #{deptId}/select /mapper2.5、编写测试类 package com.spring.boot.demo.controller;import com.spring.boot.demo.master.mapper.EmpMapper; import com.spring.boot.demo.pojo.DeptBo; import com.spring.boot.demo.pojo.EmpBo; import com.spring.boot.demo.slave.mapper.DeptMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.List;/** * author Js* version 1.0.0* Date: 2023/09/06 20:30:10* Description*/ RestController RequestMapping(/api) public class TestController {Autowiredprivate EmpMapper empMapper;Autowiredprivate DeptMapper deptMapper;GetMapping(/demo)public String demo() {// 查询所有员工信息ListEmpBo empBoList empMapper.queryAll();System.out.println(empBoList);// 查询每一个员工的部门信息for (EmpBo empBo : empBoList) {DeptBo deptBo deptMapper.getDeptById(empBo.getDeptId());System.out.println(deptBo);}return 测试成功;}}2.6、运行测试 经过上面几个步骤之后最终的工程目录结果应该是下面这样子的如下图 启动工程浏览器访问【http://localhost:8080/api/demo】查看控制台输出结果。 到此SpringBoot结合MyBatis框架实现多数据源配置就成功啦。
http://www.ihoyoo.com/news/59346.html

相关文章:

  • wordpress 优化seo插件推广优化seo
  • 重庆梁平网站建设哪家便宜网站群方案
  • 长沙微网站建设公司小程序制作教程视频
  • 顺义区做网站帮人推广的平台
  • 山东烟台建设厅网站安徽住房与城乡建设门户网站
  • 做类似淘宝网站怎么做的wordpress推荐主题
  • 公司国外网站建设网站建设陆金手指谷哥4
  • 扶贫网站建设百度商桥在网站
  • 博物馆网站做的最好的电商网站建设行业现状
  • 国外网站dnswordpress评论框样式
  • 网站制作用什么软件国家卫生健康官网入口
  • 百度网站架构电子产品网站建设分析的摘要
  • 英文网站建设方案 ppt模板余姚物流做网站
  • 网站核验通知书河北seo网络推广
  • 企业网站建设 总结coding wordpress博客
  • linux系统网站建设wordpress 主题 demo
  • 网站运营系统小程序登录模板
  • 设计网站报价做网站平面模板是啥意思
  • 国内电子商务网站有哪些打造网站品牌
  • 营销型网站策划响应式网站模板费用
  • 易语言怎么用网站做背景音乐浙江省住房建设厅网站
  • 营销型网站建设目标下沙做网站
  • dede分类信息网站做网站要ftp信息吗
  • 公司电商网站开发公司模板设计
  • led网站源码wordpress修改角色管理
  • 惠城东莞网站建设我国档案网站建设
  • 网站升级改造建设方案138企业邮箱登录
  • 泉州网站建设报价wordpress高级轮播
  • microsoft免费网站南京微信网站建设
  • dede网站不能访问全国公路建设市场信用信息管理系统网站