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

商城免费建站系统网站界面尺寸大小

商城免费建站系统,网站界面尺寸大小,5v贵阳做网站的价格1500元个性定制首选方舟网络,wordpress ssh安装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.hkea.cn/news/14353031/

相关文章:

  • 下载做蛋糕网站二级域名租用
  • 铜仁网站建设网址搭建wordpress
  • 济南 营销型网站网站建设科技有限公司
  • 深圳网站制作建设阳春市住房规划建设局网站
  • seo优化网站优化wordpress上一篇插件
  • 西安手机网站制作android开发软件下载
  • 广西桂林十大特产宁波本地抖音seo推广
  • 做网站的是什么工程师怎么创建网站的快捷方式
  • 12建网站网站建设价格表
  • 高新区网站建设 意义广州做商城网站
  • 恒信在线做彩票的是什么样的网站赣州网站开发公司
  • 一嗨租车网站建设的功能特色市级部门网站建设自评报告
  • 西安市地铁建设指挥部网站贵州省住房和城乡建设厅查询网站首页
  • 制作网站作业wordpress页面混乱
  • 网站贴子推广怎么做网页链接怎么放到桌面上
  • wordpress 适合外贸站广州seo公司品牌
  • 网站建设会计分录怎么做给人做网站网站
  • 甘肃两学一做网站建筑公司做网站的好处
  • 免费网站建设模版云盘创建网站的软件
  • 冠辰网站建设企业培训平台
  • 湖北省建设工程网站微企免费网站建设
  • 音平商城谁做的网站新乡建设网站公司
  • 惠州企业网站建设选哪家wordpress页脚版权信息修改
  • 怎么让网站让百度收录可以做用户旅程图的网站
  • 建设谷歌公司网站费用unas做网站服务器
  • 设计网站大全软件江山市建设厅网站
  • 网站建设公司有as3 xml 网站模板 下载
  • 网站设计原则的历史自己切片做网站
  • 在云服务器上搭建网站网络公司推广方案
  • 视频网站建设工具成都郫县网站建设