首页 > 数据库 >baomidou动态数据库@DS

baomidou动态数据库@DS

时间:2023-08-31 14:11:06浏览次数:26  
标签:code name 数据库 mysql baomidou MYSQL slw com DS

 

全链路不能使用@Transactional

public interface XXXBasicMapper {
    @DS("operating")
    List<XXXBasicVo> findBasicList(XXXBasicPageDto dto);

@Service
@DS("operating")
public class XXXXXXBasicServiceImpl2 implements IXXXBasicService2 {


spring:
  datasource:
    hikari:
      pool-name: hikariCP-biz
      auto-commit: false
      read-only: false
      maximum-pool-size: 10
      max-lifetime: 1800000
      connection-timeout: 30000
      idle-timeout: 600000
    #动态数据源配置
    dynamic:
      #主数据源
      primary: master
      datasource:
        #数据源a01
        master:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://${MYSQL_URL:xxx:3306}/${MYSQL_DBNAME:xxx}?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=Asia/Shanghai
          username: ${MYSQL_USER:root}
          password: ${MYSQL_PASSWORD:xxx}
        #运营中间库
        operating:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://${MYSQL_URL:xxx:3306}/${MYSQL_DBNAME:xxxxxx}?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=Asia/Shanghai
          username: ${MYSQL_USER:root}
          password: ${MYSQL_PASSWORD:xxx}

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.6.8</version>
        </dependency>
       <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.29</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.13.3</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>2.5.6</version>
        </dependency>

 

@MapperScan("com.xmh.mapper")
public class XmhApplication {

src\main\resources\mapper\XxxBasicMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xmh.mapper.XxxBasicMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.xmh.model.entity.XxxBasic">
        <id column="id" property="id"/>
        <result column="type" property="type"/>
        <result column="level" property="level"/>   
    </resultMap>

    <sql id="Basic_Column_List">   
        id, type, level, name
    </sql>

    <resultMap id="BasicResultMap" type="com.xmh.model.vo.XxxBasicVo">
        <id column="id" property="id"/>
        <result column="type" property="type"/>
        <result column="level" property="level"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

    <sql id="BasicNeed_Column_List">
        ab
        .
        `code`
        , ab.`name`, ab.type, ab.`level`, ab.dept_name as offerDept,
        slw.title, slw.dept_name as proposeDept, slw.create_name, slw.create_time, slw.id
    </sql>

    <select id="findBasicList" resultMap="BasicResultMap"
            parameterType="com.xmh.model.dto.XxxBasicPageDto">
        select
        <include refid="Basic_Column_List"/>
        from Xxx_basic
        <trim prefix="where" prefixOverrides="and|or">
            node = 1 and status != 2
            <if test="name!=null and name!=''">
                and name like concat('%', #{name}, '%')
            </if>
            <if test="code != null and code != ''">
                and code = #{code}
            </if>
            <if test="deptCode != null and deptCode != ''">
                and dept_code = #{deptCode}
            </if>
            <if test="keyword != null and keyword != ''">
                and (name like concat('%', #{keyword}, '%') or code like concat('%', #{keyword}, '%'))
            </if>
        </trim>
        <if test="orderBy == null or orderBy == ''">
            order by sort desc, update_time desc
        </if>
    </select>
</mapper>

 

标签:code,name,数据库,mysql,baomidou,MYSQL,slw,com,DS
From: https://www.cnblogs.com/xingminghui111/p/17669433.html

相关文章

  • unistr函数将数据库表中的unicode转为字符(\u2161转为罗马数字Ⅱ)
    一、背景在前端页面用户输入罗马数字Ⅱ时,数据存到数据库会转为Unicode编码\u2161,需通过函数重新将Unicode编码转换回去。二、uninstr函数unistr(\xxxx)将Unicode编码转换回原来的形式,因为Unicode是带有u的,即\uxxxx,需要将u给去掉,变成oracle可识别的格式,否则oracle会提示错误。......
  • 数据库知识库
    Oracle数据库知识库查看是否有表被锁住:select*fromv$locked_object;查看详细的信息:selectsess.sid,sess.serial#,lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_modefromv$locked_objectlo,dba_objectsao,v$sessionsess,v$processpwherea......
  • 关于分页查询数据重复的问题 (分页查看时数据库插入导致) 的一个解决办法
    既然是在我分页的过程中,插入了一条记录,导致我再查询下一页的时候,查出来上一页的记录,那么,我思考,我可不可以不去查询他新增的这一条记录。那么这样,就查询不到别人新增的这条记录了。那么需要的条件就出来了:数据库表要有创建时间的这么一个字段那么解决思路就出来了,首先是要前端进行......
  • MindSponge分子动力学模拟——定义一个分子系统(2023.08)
    技术背景在前面两篇文章中,我们分别介绍了分子动力学模拟软件MindSponge的软件架构和安装与使用教程。这里我们进入到实用化阶段,假定大家都已经在本地部署好了基于MindSpore的MindSponge的编程环境,开始用MindSponge去做一些真正的分子模拟的工作。那么分子模拟的第一步,我们就需要......
  • 数据库什么叫 上钻 下钻 切片 转轴
    上钻:从当前数据往上回归到上一层数据。例如:(某数据的分类下面分为品名)从品名列表收拢到分类列表。下钻:从当前数据往下展开下一层数据。例如:(某数据的分类下面分为品名)从分类列表展开到品名列表。上钻、下钻统称钻取。切片:展现同一层面的数据。如上述的产品。转轴:这些应该属于查询......
  • Oracle客户端与Oracle数据库兼容矩阵
    Oracle客户端与Oracle数据库之间是有兼容支持关系的,有些低版本的OracleClient连接到高版本的数据库是不支持的,其实Oracle官方文档Client/ServerInteroperabilitySupportMatrixforDifferentOracleVersions(DocID207303.1)[1]中有详细的介绍,如果你要升级数据库的话或......
  • 论文解读(AdSPT)《Adversarial Soft Prompt Tuning for Cross-Domain Sentiment Analysi
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:AdversarialSoftPromptTuningforCross-DomainSentimentAnalysis论文作者:HuiWu、XiaodongShi论文来源:2022ACL论文地址:download 论文代码:download视屏讲解:click1介绍 动机:直接使用固定的预定义模......
  • Docker 安装 达梦数据库
    Docker安装达梦数据库 一、背景介绍最近几年,随着国外(尤其是美国)对我国的技术封锁和经济制裁,国家提倡软件项目在开发和实施过程中,服务器、交换机等硬件设备尽量采用国产化,软件要求自主可控、自主研发。因此,积极了解国产化软硬件还是很有必要的,比如:龙芯、鲲鹏、飞腾、银河麒......
  • [DS记录] P6623 [省选联考 2020 A 卷] 树
    题目传送门\(\rmTrie\)树的一些牛逼应用异或和是可以用\(\rm01-Trie\)维护的。我们发现对于一个点\(x\),需要需要维护\(x\)子树的所有点的异或和,这可以理解成\(\rmTrie\)树的合并。同时有一个\(d(y,x)\)的存在,其实考虑\(\rmdfs\)的过程,相当于先合并所有子节点的......
  • 【NestJS系列】连接数据库及优雅地处理响应
    前言Node作为一门后端语言,当然也可以连接数据库,为前端提供CURD接口我们以mysql为例,自行安装mysqlTypeORMTypeORM是一个ORM框架,它可以运行在NodeJS、Browser、Cordova、PhoneGap、Ionic、ReactNative、Expo和Electron平台上,可以与TypeScript和JavaScript一起使用。......