springcloud适配mysql和oracle数据库
mysql和oracle数据库部分语法不相同,为了适配两种数据库(修改配置文件方式),可以先操作sql,然后通过代码级别再实现。比如oracle限制返回的条数:rownum<=1 但是mysql的语法是:limit 1,你可以通过返回所有数据,然后再get(0)去除第一条数据,
今天的重点:springcloud+tk.mybatis+oracle/mysql
1.先上依赖:
父工程部分依赖:
复制代码
org.springframework.boot
spring-boot-starter-parent
2.2.2.RELEASE
复制代码
<?xml version="1.0" encoding="UTF-8"?>
com.xxx
xxxxxxxx
0.0.1-SNAPSHOT
4.0.0
xxxxx-xxxx
xxxx-xxxxx
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${springboot.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>${springboot.version}</version><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><!-- 数据库配置 start--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>2.1.5</version></dependency>
<!-- <groupId>com.baomidou</groupId>--><!-- <artifactId>mybatis-plus</artifactId>--><!-- <version>2.3</version>--><!-- </dependency>--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-autoconfigure</artifactId><version>1.3.2</version></dependency><dependency><groupId>com.zhdgps.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.1.0</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.9</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.9</version></dependency><!-- 数据库配置 end --><!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.13</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.21</version></dependency><!-- 注册中心 start--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
<!-- 注册中心 end--><!-- swagger start --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency><!-- swagger end --><!-- jwt --><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.10.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>${springboot.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.9.0</version></dependency><!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.3.0</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.11</version></dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.2.9.RELEASE</version><scope>compile</scope></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.8.0</version><scope>compile</scope></dependency>
</dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${springboot.version}</version><configuration><!-- 指定该Main Class为全局的唯一入口 --><mainClass>com.zhd.eoms.EomsApplication</mainClass>
</configuration><executions><execution><goals><goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--></goals></execution></executions></plugin></plugins>
</build>
复制代码 根据上面的依赖选择,不要都贴上,
然后使用mybatis-generator自动生成entity、mapper和xml映射文件,
略
然后就是今天的重点:怎样配置数据库id的类型
第一种:自增ID,可以这样配置:
@Id
@Column(insertable = false, name = "ID")
@GeneratedValue( generator = "JDBC")
private Integer id;
这样oracle和mysql都适用;
自增适合哪种经常查询信息,因为id是天然有序,效率高一些,
如果是UUID:
@Id
@Column(name = "ID")
@KeySql(genId = UUIDGenId.class)
复制代码
public class UUIDGenId implements GenId{
@Override
public String genId(String s, String s1) {
return UUID.randomUUID().toString().replace(“-”,“”);
}
}
复制代码
UUIDGenId 类
复制代码
public class UUIDGenId implements GenId{//
@Override
public String genId(String s, String s1) {
return UUID.randomUUID().toString().replace(“-”,“”);
}
}
springcloud适配mysql和oracle数据库相关推荐
- Mybatisplus代码生成 之SpringBoot适配MYSQL和ORACLE
Mybatisplus代码生成 之SpringBoot适配MYSQL和ORACLE 文章目录 前期准备: 看图操作,一路下一步 1. 导入相关依赖 2. 新建代码生成类MysqlGenerator 2 ...
- Mysql和Oracle 数据库操作工具类
适配Mysql和Oracle数据源 文章目录 1. 适配Mysql和Oracle数据源 2. 适配于Mysql数据源 3. 适配Oeacle数据源 1. 适配Mysql和Oracle数据源 packa ...
- mysql 读取oracle_RobotFramework读取mysql和oracle数据库
一.robotframework连接mysql数据库 1.安装databaselibrary.pymysql 通过cmd命令执行:pip install robotframework-database ...
- mysql,oracle数据库优化之索引
mysql,oracle数据库优化之索引,分库分表,表分区,本地索引,全局索引 数据库引擎 数据库索引 索引类型 主键索引 唯一索引 普通索引 全文索引 位图索引(oracle数据库才有) 在哪些列上 ...
- jsp mysql oracle_Jsp 连接 mySQL、Oracle 数据库备忘
Jsp 连接 mySQL.Oracle 数据库备忘 2009-12-15 16:47 Jsp 环境目前最流行的是 Tomcat5.0.Tomcat5.0 自己包含一个 Web 服务器,如果是测试,就没 ...
- oracle数据库需要的端口号,SQL Server数据库、MySQL、Oracle数据库各自的默认端口号...
我们今天主要向大家讲述的是SQL Server数据库.MySQL.Oracle数据库各自的默认端口号,以下就是对SQL Server数据库.MySQL.Oracle数据库各自的默认端口号的描述,望在你 ...
- 人大金仓适配mysql和oracle函数适配
oracle jdbc配置: jdbc.validationQuery=SELECT COUNT(*) FROM DUAL jdbc.driverclass=oracle.jdbc.driver.Or ...
- mysql和Oracle数据库的一些异同。
1.WHERE字句的LIKE条件中通配符. Oracle和mysql都支持%和_两个通配符,前者匹配任意个任意字符,后者匹配最多一个任意字符.但在处理本意字符%和_时,就很不相同了.mysql可以用转 ...
- RobotFramework读取mysql和oracle数据库
一.robotframework连接mysql数据库 1.安装databaselibrary.pymysql 通过cmd命令执行:pip install robotframework-database ...
最新文章
- gis 大屏_胡中南:Web端GIS技术新进展 | (PPT+速记)
- Fiddler使用总结一(使用Fiddler捕获手机所有http/https通信)
- matlab GUI gca gco gcf
- python开发移动应用_什么是移动应用开发的最佳编程语言?(一)Python?c++?
- 初识jvm-1.Java类的加载机制
- 计算机组成原理——总线结构
- 【C++ grammar】常量、指针、Usage of using, typedef, and #define
- shell正则表达式截取字符串_从CVE20208816聊聊shell参数扩展
- HDU--1054--Strategic Game【最小点覆盖】
- 安卓listview点击空白事件_王者荣耀安卓苹果ios改空白名;重复名字特殊昵称教程...
- lib、dll文件的中函数的查看与lib、dll、pdb文件的介绍
- 这九年来都在干嘛-兄弟连IT教育
- ubuntu16.04 gnome环境,怎么样下载使用monaco字体
- 学习Java技术Eclipse版本的选择
- 【AllenNLP入门教程】: 2、基于Allennlp2.4版本的一些使用技巧
- win10前置耳机插孔没声音_iqoo耳机突然没声音-杰讯手机维修中心
- 分支限界 java_0035算法笔记——【分支限界法】布线问题
- 图文展示目标检测的现代发展历史
- 搭建公司wiki系统
- 【一】微信公众号之扫码登录
热门文章
- 颜色类中英文词汇大全(4)
- 彻底搞懂基于Open3D的点云处理教程!
- HPE牵手CSC,打造DXC延承HP百年家规
- OpenAI Codex,GitHub Copilot 和cheat.sh 三个代码建议工具对比
- 搭建国产化麒麟kylinos操作系统虚拟机
- 数学之美:拼音输入法的数学原理
- Fri Oct 7 10:08:00 UTC 0800 2016日期格式转换为 yyyy-mm-dd hh24:mi:ss (Map实现版)
- 魔坊APP项目-17-种植园,商城页面、服务端提供商品api,解决App打包编译以后的跨域限制、客户端获取商品列表并进行展示,集成Alipayplus模块完成支付
- 博客——使用 Redis 实现博客编辑的自动保存草稿功能
- 【寻找最佳小程序】04期 :探访“小打卡”产品打磨细节及线下场景真实应用...