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;
}
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;
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" ;
6、controller测试
@Controller
@RequestMapping("/note")public classNoteController {
@Autowired
NoteMapper noteMapper;
@RequestMapping("/queryall")
@ResponseBody
ListqueryAll() {returnnoteMapper.queryAll();
}
}
7、l浏览器测试
切换oracle数据源
切换mysql数据源