oracle+query+high,springboot + mybatis 支持oracle和mysql切换含源码

1、springboot 启动类加入bean 如下

// DatabaseIdProvider元素主要是为了支持不同的数据库

@Bean

public DatabaseIdProvider getDatabaseIdProvider() {

DatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();

Properties properties = new Properties();

properties.setProperty("Oracle", "oracle");

properties.setProperty("MySQL", "mysql");

databaseIdProvider.setProperties(properties);

return databaseIdProvider;

}

80e83807037e3bfb4877b0ca0a0997d6.png

2、application.yml 配置

spring:

datasource:

# 使用mysql

# driver-class-name: com.mysql.jdbc.Driver

# url: jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8

# username: root

# password: root

#使用oracle

url: jdbc:oracle:thin:@//localhost:1521/orcl

username: system

password: system

driver-class-name: oracle.jdbc.driver.OracleDriver

3、部分pojo

@Data

@Accessors(chain= true)public classNote {private intuserId;privateString userName;privateString userAge;

}

4、mapper 如下(注意oracle 语句的大小写,若小写请加“”引号)

SELECT USER_ID,USER_NAME,USER_AGE FROM T_USER

SELECT user_id,user_name,user_age FROM t_user

5、表

mysql

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (

`user_id` int(11) NOT NULL AUTO_INCREMENT,

`user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`user_age` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

PRIMARY KEY (`user_id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

1ff480c098c5f086051dbd2d938dbf45.png

oracle

CREATE TABLE "SYSTEM"."T_USER"("USER_ID" NUMBER(*,0),"USER_NAME" VARCHAR2(20BYTE),"USER_AGE" VARCHAR2(20BYTE)

) PCTFREE10 PCTUSED 40 INITRANS 1 MAXTRANS 255NOCOMPRESS LOGGING

STORAGE(INITIAL65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645PCTINCREASE0 FREELISTS 1 FREELIST GROUPS 1BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE"SYSTEM" ;

e41549674be68503275b53c9f4cfdb5c.png

6、controller测试

@Controller

@RequestMapping("/note")public classNoteController {

@Autowired

NoteMapper noteMapper;

@RequestMapping("/queryall")

@ResponseBody

ListqueryAll() {returnnoteMapper.queryAll();

}

}

7、l浏览器测试

切换oracle数据源

2d03f9bb0f90070faa294f1d726abcc2.png

切换mysql数据源

2f4a7cfcd0f23d3f21b9e8a008e92029.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值