Spring Boot 使用Oracle集成Mybatis,驼峰映射(下划线)问题
来源:互联网 发布:鲁迅体 知乎 编辑:程序博客网 时间:2024/06/05 15:15
问题描述:
问题分析:
1、把项目整体迁移到MySQL数据库上,可以正常查出数据,能够正常映射,那么可以证明是Oracle数据库的问题,或者是Mybatis的设置问题,排除代码逻辑问题。
2、为实体类加入映射规则:
3、使用最简单的例子做测试,如果数据库字段是这样USERID,没有下划线,那么Mybatis是可以映射成功的。也就是说,Mybatis在使用Oracle数据库时,字段带上下划线不能映射。
解决方式:
1、将实体类改为和数据库字段一模一模,即也加上下划线,但这样又不符合JAVA的驼峰命名规范,但如果不能修改数据库,这也是权宜之计。
2、修改数据库字段,将下划线去除,如USER_ID改为USERID,这个方式对于数据库来说并不友好,因为单词间没有分割,单看字段名很难一目了然的明白字段的意义。
最后,附上官方的配置说明 mybatis-spring-boot-autoconfigure – MyBatis Sring-BootStarter | Reference Documentation http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/#Configuration
数据库字段为USER_ID,实体类为userId,在application.xml做如下配置,可以自动进行映射:
mybatis.configuration.mapUnderscoreToCamelCase=true或新建mybatis.xml配置文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings></configuration>进行以上配置后,并没有映射成功,查出来的数据都为null。
问题分析:
1、把项目整体迁移到MySQL数据库上,可以正常查出数据,能够正常映射,那么可以证明是Oracle数据库的问题,或者是Mybatis的设置问题,排除代码逻辑问题。
2、为实体类加入映射规则:
<resultMap type="com.bocom.protemp.common.shiro.entity.UserEntity" id="userMap"> <result property="userId" column="USER_ID"/></resultMap>问题依旧,查出的数据还是null值。
3、使用最简单的例子做测试,如果数据库字段是这样USERID,没有下划线,那么Mybatis是可以映射成功的。也就是说,Mybatis在使用Oracle数据库时,字段带上下划线不能映射。
解决方式:
1、将实体类改为和数据库字段一模一模,即也加上下划线,但这样又不符合JAVA的驼峰命名规范,但如果不能修改数据库,这也是权宜之计。
2、修改数据库字段,将下划线去除,如USER_ID改为USERID,这个方式对于数据库来说并不友好,因为单词间没有分割,单看字段名很难一目了然的明白字段的意义。
最后,附上官方的配置说明 mybatis-spring-boot-autoconfigure – MyBatis Sring-BootStarter | Reference Documentation http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/#Configuration
阅读全文
0 0
- Spring Boot 使用Oracle集成Mybatis,驼峰映射(下划线)问题
- Spring Boot(1)集成MyBatis的简单使用
- spring-boot 集成mybatis配置使用
- spring-boot集成mybatis使用Druid监控
- Spring集成MyBatis (使用mapper映射器)
- Spring Boot 集成MyBatis
- Spring Boot 集成Mybatis
- spring-boot集成mybatis
- Spring boot集成Mybatis
- Spring Boot 集成MyBatis
- spring boot集成mybatis
- Spring Boot集成MyBatis
- Spring Boot 集成MyBatis
- Spring Boot 集成MyBatis
- Spring Boot 集成MyBatis
- Spring Boot 集成MyBatis
- Spring Boot集成mybatis
- Spring Boot集成Mybatis
- tcp 多路复用实现 两个客户端之间的通信
- react 组件
- git命令
- ListView实现多级树形菜单
- Koa
- Spring Boot 使用Oracle集成Mybatis,驼峰映射(下划线)问题
- [组合] Codeforces #575H. Bots
- 2017年中国家用电器技术大会,物联网+人工智能将对家电产业产生新价值
- redis auth
- 如何得到服务器当前时间
- SSM项目中自动生成反向工程
- Canvas的transform详解
- c/c++中string与char的区别
- ZooKeeper系列(四) Zookeeper的应用实践