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

九龙坡区建设二校有网站吗做影视网站的软件

九龙坡区建设二校有网站吗,做影视网站的软件,制作装饰公司网站,网站设计扁平化文章目录 前言 一、Mybatis-Plus是什么#xff1f; 二、多数据源是什么#xff1f; 三、使用步骤 1. 新建一个SpringBoot项目 2. 引入必要的MyBatis架包 3. 新建两个数据库及两张表 3.3.1 新建数据库#xff1a;DB_A#xff0c;并创建一张数据表alarm_kind#xff0c;以及…文章目录 前言 一、Mybatis-Plus是什么 二、多数据源是什么 三、使用步骤 1. 新建一个SpringBoot项目 2. 引入必要的MyBatis架包 3. 新建两个数据库及两张表 3.3.1 新建数据库DB_A并创建一张数据表alarm_kind以及一些测试数据。 3.3.2 同样再建一个数据库DB_B并创建一张数据表test以及一些测试数据。 4. 修改配置文件application.yml 5. 编码 5.1 entity 实体类 5.2 mapper接口 5.3 service服务接口 5.4 service服务实现 6. 测试及验证  总结 前言 在日常大型项目中经常会遇到分库分表的数据库设计咱们普通的SpringBoot 单体项目通过默认配置及注解可以很容易实现对单个数据库的操作管理但遇到需要多个数据库操作可能会比较麻烦因此咱们今天主要介绍如何使用MyBatis-Plus提供的一个多数据源动态加载组件简单轻松实现在单个项目中实现对多个数据库的操作管理。 关键词SpringBoot 、MyBatis、MyBatis-Plus、多数据源 一、Mybatis-Plus是什么 Mybatis-Plus是一个Mybatisopens new window的增强工具在Mybatis的基础上只做增强不做改变为简化开发。 二、多数据源是什么 多数据源是指在分布式环境或集群环境下为不同的数据库如MySQL、Oracle、SQLServer等配置数据源以便在项目中能够随意切换以获取数据。这种配置方式允许应用程序根据需要连接到不同的数据库以实现特定的业务需求如数据隔离、水平扩展、读写分离等。 三、使用步骤 1. 新建一个SpringBoot项目 可以通过Ide工具向导建立,这里不详细描述了。 2. 引入必要的MyBatis架包 在项目的pom.xml加入如何内容 !-- mysql --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.18/version/dependency!-- 连接池 --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.24/version/dependency!-- mybatis plus --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion${mybatisplus-spring-boot-starter.version}/version/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus/artifactIdversion3.4.2/version/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactIdversion3.4.1/version/dependencydependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactIdversion2.3/version/dependencydependencygroupIdcom.baomidou/groupIdartifactIddynamic-datasource-spring-boot-starter/artifactIdversion3.5.0/version/dependency 3. 新建两个数据库及两张表 3.3.1 新建数据库DB_A并创建一张数据表alarm_kind以及一些测试数据。 CREATE DATABASE IF NOT EXISTS DB_A /*!40100 DEFAULT CHARACTER SET utf8mb4 */; USE DB_A;DROP TABLE IF EXISTS alarm_kind; CREATE TABLE IF NOT EXISTS alarm_kind (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键ID,type_no varchar(255) DEFAULT NULL COMMENT 类型编号,type_name varchar(255) DEFAULT NULL COMMENT 类型名称,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT23 DEFAULT CHARSETutf8mb4 COMMENT报警类型字典表;DELETE FROM alarm_kind; INSERT INTO alarm_kind (id, type_no, type_name) VALUES(1, Powon, 市电),(2, Baton, UPS电源),(3, Move, 位移),(4, Alarm, 震动),(5, Cut, 切割检测),(6, Smoke, 烟雾),(7, LBJ, 声光),(8, HW, 红外),(9, Box4_NoPutTimeOut, 四号柜款箱未放入); 3.3.2 同样再建一个数据库DB_B并创建一张数据表test以及一些测试数据。 CREATE DATABASE IF NOT EXISTS DB_B /*!40100 DEFAULT CHARACTER SET utf8mb4 */; USE DB_B;DROP TABLE IF EXISTS test; CREATE TABLE IF NOT EXISTS alarm_kind (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键ID,type_no varchar(255) DEFAULT NULL COMMENT 类型编号,type_name varchar(255) DEFAULT NULL COMMENT 类型名称,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT23 DEFAULT CHARSETutf8mb4 COMMENT报警类型字典表;DELETE FROM test; INSERT INTO test (id, type_no, type_name) VALUES(1, Powon, 测试1),(2, Baton, 测试2),(3, Move, 测试3); 4. 修改配置文件application.yml server:port: 8085 #服务端口配置 spring:application:name: ms-basedatasource:dynamic:primary: baseA #默认加载的数据库是DB_Astrict: falsedatasource:baseA:driver-class-name: com.mysql.cj.jdbc.Driver #数据源配置url: jdbc:mysql://127.0.0.1:13306/DB_A?serverTimezoneGMT%2B8useSSLfalseusername: rootpassword: data123456!type: com.alibaba.druid.pool.DruidDataSource #连接池配置max-idle: 10 #No operations allowed after connection closed错误原因及解决max-wait: 10000min-idle: 5initial-size: 5validation-query: SELECT 1test-on-borrow: falsetest-while-idle: truetime-between-eviction-runs-millis: 18800baseB:driver-class-name: com.mysql.cj.jdbc.Driver #数据源配置url: jdbc:mysql:///127.0.0.1:13306/DB_B?serverTimezoneGMT%2B8useSSLfalseusername: rootpassword: data123456!type: com.alibaba.druid.pool.DruidDataSource #连接池配置max-idle: 10 #No operations allowed after connection closed错误原因及解决max-wait: 10000min-idle: 5initial-size: 5validation-query: SELECT 1test-on-borrow: falsetest-while-idle: truetime-between-eviction-runs-millis: 18800 5. 编码 5.1 entity 实体类 AlarmKind.java import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.io.Serializable;import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode;/*** p* 报警类型字典表* /p** since 2022-05-24*/ Data EqualsAndHashCode(callSuper false) public class AlarmKind implements Serializable {private static final long serialVersionUID 1L;/*** 主键ID*/TableId(value id, type IdType.AUTO)private Long id;/*** 类型编号*/private String typeNo;/*** 类型名称*/private String typeName; } Test.java import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.io.Serializable;import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode;/*** p* 测试表* /p**/ Data EqualsAndHashCode(callSuper false) public class Test implements Serializable {private static final long serialVersionUID 1L;/*** 主键ID*/TableId(value id, type IdType.AUTO)private Long id;/*** 类型编号*/private String typeNo;/*** 类型名称*/private String typeName; } 5.2 mapper接口 AlarmKIndMapper.java import com.xxxx.rest.entity.AlarmKind; import com.baomidou.mybatisplus.core.mapper.BaseMapper;/*** p* 报警类型字典表 Mapper 接口* /p**/ public interface AlarmKindMapper extends BaseMapperAlarmKind {ListAlarmKind getAll(); } TestMapper.java import com.xxxx.rest.entity.Test; import com.baomidou.mybatisplus.core.mapper.BaseMapper;/*** p* 测试表 Mapper 接口* /p**/ public interface TestMapper extends BaseMapperTest {ListTest getAll(); } 5.3 service服务接口 IAlarmKIndService.java import com.xxx.rest.entity.AlarmKind; import com.baomidou.mybatisplus.extension.service.IService;import com.xianban.rest.model.msbase.vo.platform.BaseLineVO;import java.util.List;/*** p* 报警类型表 服务类* /p**/ public interface IAlarmKindService extends IServiceAlarmKind {ListAlarmKind getAll(); } ITestService.java import com.xxx.rest.entity.Test; import com.baomidou.mybatisplus.extension.service.IService;import com.xianban.rest.model.msbase.vo.platform.BaseLineVO;import java.util.List;/*** p*测试表 服务类* /p**/ public interface ITestService extends IServiceTest {ListTest getAll(); } 5.4 service服务实现 AlarmKindServiceImpl.java import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xxxx.rest.entity.AlarmKind; import com.xxxx.rest.mapper.AlarmKindMapper; import com.xxxx.rest.service.IAlarmKindService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors;/*** p* 报警类型表 服务实现类* /p**/ Service DS(baseA) //这个注解是指定操作哪个数据源如果没有这个注解则代表操作配置文件中的主数据源 public class AlarmKindServiceImpl extends ServiceImplAlarmKindMapper, AlarmKind implements IAlarmKindService {Resourceprivate AlarmKindMapper mapper;Overridepublic ListAlarmKind getAll() {QueryWrapperAlarmKind wrappernew QueryWrapper();return mapper.selectList(wwapper);} } TestServiceImpl.java import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xxxx.rest.entity.Test; import com.xxxx.rest.mapper.TestMapper; import com.xxxx.rest.service.ITestService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors;/*** p* 测试表 服务实现类* /p**/ Service DS(baseB) //这个注解是指定操作哪个数据源如果没有这个注解则代表操作配置文件中的主数据源 public class TestServiceImpl extends ServiceImplTestMapper, Test implements ITestService {Resourceprivate TestMapper mapper;Overridepublic ListTest getAll() {QueryWrapperTest wrappernew QueryWrapper();return mapper.selectList(wwapper);} } 6. 测试及验证  编写测试Controller RestController RequestMapping(/test) CrossOrigin Api(tags 手动测试接口管理) public class TestController {Resourceprivate IAlarmKindService alarmKindService;Resourceprivate ITestService testService;//查询报警类型数据GetMapping(/getAlarmKindList)public ResponseEntityObject getAlarmKindList(){ return getRespOk(alarmKindService.getAll()); } //查询测试表数据GetMapping(/getTestList)public ResponseEntityObject getTestList(){ return getRespOk(testService.getAll()); }protected ResponseEntityObject getRespOk(Object resData) {return new ResponseEntity(resData, HttpStatus.OK); }} 启动项目 在浏览器访问 1.报警类型信息接口地址http://localhost:8085/test/getAlarmKindList如果返回结果说明正确 2.测试信息接口地址http://localhost:8085/test/getTestList如果返回结果说明正确 总结 通过以上内容分析其实关键就引入架包、修改配置文件、服务的实现类中增加DS(配置文件中定义的数据源名称)代码改动可以说非常小。
文章转载自:
http://www.morning.ksqyj.cn.gov.cn.ksqyj.cn
http://www.morning.kzrbn.cn.gov.cn.kzrbn.cn
http://www.morning.kmcby.cn.gov.cn.kmcby.cn
http://www.morning.lqytk.cn.gov.cn.lqytk.cn
http://www.morning.phzrq.cn.gov.cn.phzrq.cn
http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn
http://www.morning.bwhcl.cn.gov.cn.bwhcl.cn
http://www.morning.qcfgd.cn.gov.cn.qcfgd.cn
http://www.morning.fxpyt.cn.gov.cn.fxpyt.cn
http://www.morning.gfpyy.cn.gov.cn.gfpyy.cn
http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn
http://www.morning.mrfjr.cn.gov.cn.mrfjr.cn
http://www.morning.rgxll.cn.gov.cn.rgxll.cn
http://www.morning.jwbfj.cn.gov.cn.jwbfj.cn
http://www.morning.wmglg.cn.gov.cn.wmglg.cn
http://www.morning.rwjtf.cn.gov.cn.rwjtf.cn
http://www.morning.dbrdg.cn.gov.cn.dbrdg.cn
http://www.morning.nngq.cn.gov.cn.nngq.cn
http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn
http://www.morning.gprzp.cn.gov.cn.gprzp.cn
http://www.morning.fydsr.cn.gov.cn.fydsr.cn
http://www.morning.rgfx.cn.gov.cn.rgfx.cn
http://www.morning.cdrzw.cn.gov.cn.cdrzw.cn
http://www.morning.xbhpm.cn.gov.cn.xbhpm.cn
http://www.morning.jcwhk.cn.gov.cn.jcwhk.cn
http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn
http://www.morning.saastob.com.gov.cn.saastob.com
http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn
http://www.morning.hsflq.cn.gov.cn.hsflq.cn
http://www.morning.mxptg.cn.gov.cn.mxptg.cn
http://www.morning.fgsct.cn.gov.cn.fgsct.cn
http://www.morning.wnjrf.cn.gov.cn.wnjrf.cn
http://www.morning.hympq.cn.gov.cn.hympq.cn
http://www.morning.dtlnz.cn.gov.cn.dtlnz.cn
http://www.morning.kbynw.cn.gov.cn.kbynw.cn
http://www.morning.qyglt.cn.gov.cn.qyglt.cn
http://www.morning.qyrnp.cn.gov.cn.qyrnp.cn
http://www.morning.mhnr.cn.gov.cn.mhnr.cn
http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn
http://www.morning.jfbpf.cn.gov.cn.jfbpf.cn
http://www.morning.dnpft.cn.gov.cn.dnpft.cn
http://www.morning.china-cj.com.gov.cn.china-cj.com
http://www.morning.jlktz.cn.gov.cn.jlktz.cn
http://www.morning.bkslb.cn.gov.cn.bkslb.cn
http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn
http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn
http://www.morning.elmtw.cn.gov.cn.elmtw.cn
http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn
http://www.morning.ygxf.cn.gov.cn.ygxf.cn
http://www.morning.rmqmc.cn.gov.cn.rmqmc.cn
http://www.morning.syznh.cn.gov.cn.syznh.cn
http://www.morning.drywd.cn.gov.cn.drywd.cn
http://www.morning.snnb.cn.gov.cn.snnb.cn
http://www.morning.wdhlc.cn.gov.cn.wdhlc.cn
http://www.morning.npxht.cn.gov.cn.npxht.cn
http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn
http://www.morning.dkqyg.cn.gov.cn.dkqyg.cn
http://www.morning.splkk.cn.gov.cn.splkk.cn
http://www.morning.hsksm.cn.gov.cn.hsksm.cn
http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn
http://www.morning.dpzcc.cn.gov.cn.dpzcc.cn
http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn
http://www.morning.mqbzk.cn.gov.cn.mqbzk.cn
http://www.morning.hytr.cn.gov.cn.hytr.cn
http://www.morning.rkfh.cn.gov.cn.rkfh.cn
http://www.morning.kaylyea.com.gov.cn.kaylyea.com
http://www.morning.ktntj.cn.gov.cn.ktntj.cn
http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn
http://www.morning.zpfqh.cn.gov.cn.zpfqh.cn
http://www.morning.qbjrf.cn.gov.cn.qbjrf.cn
http://www.morning.ldqrd.cn.gov.cn.ldqrd.cn
http://www.morning.nqbpz.cn.gov.cn.nqbpz.cn
http://www.morning.4q9h.cn.gov.cn.4q9h.cn
http://www.morning.sphft.cn.gov.cn.sphft.cn
http://www.morning.rbqlw.cn.gov.cn.rbqlw.cn
http://www.morning.pbsqr.cn.gov.cn.pbsqr.cn
http://www.morning.msbpb.cn.gov.cn.msbpb.cn
http://www.morning.ckcjq.cn.gov.cn.ckcjq.cn
http://www.morning.gmysq.cn.gov.cn.gmysq.cn
http://www.morning.rkqkb.cn.gov.cn.rkqkb.cn
http://www.tj-hxxt.cn/news/270643.html

相关文章:

  • 什么是网站推广优化怎么把个人做的网站上传到网上
  • 百度网站的设计风格有没有专做推广小说的网站
  • 网站开发 报价静态网页有哪些
  • 西餐厅网站源码wordpress怎么使用自己的模板
  • 昆明建设公司网站做设计需要知道的几个网站吗
  • 淘宝客网站做百度推广南昌企业建站系统模板
  • 顺义专业建站公司天津网站备案
  • 两学一做网站登录wordpress windows 安装
  • 网站建设现状分析做网站网
  • 徐州网站建设策划怎样给网站做关键词优化
  • 网站建设需要提供哪些材料网站建设和管理规则
  • 建立网站心得专业网络推广策划
  • 天津南洋建设集团网站网页设计参考书籍
  • 网站透明导航代码长沙城乡建设网站首页
  • 离石做网站沈阳做网站有名公司有哪些
  • Python 查询网站开发徐汇区网站建设
  • 公司网站一般多少钱空白网站怎么做
  • iis7建网站展览中心近期展会
  • 九江哪里做网站做网站充值系统
  • 桦甸网站建设wordpress不允许注册
  • 网站集约化建设启示和建议毕业设计拼车网站的建设雨实现
  • 江西省水利水电建设集团招标网站哪个网站开发小程序
  • 曲阜建设公司网站网站建设案例平台
  • 网站文章更新数量永兴网站开发
  • 一个成功的网站要具备哪些方面北京做网站推广
  • 视频网站费用揭阳百度快照优化排名
  • 佛山知名网站建设公司家纺营销型网站
  • 想做一个自己的网站怎么做的精美网站界面
  • 网站建设销售实习网站建设项目验收表
  • 网站开发亿玛酷信赖办公管理软件定制