mybatis为啥这次我用驼峰式命名不对
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis为啥这次我用驼峰式命名不对相关的知识,希望对你有一定的参考价值。
我的WEB项目是springmvc+mybatis的,其中mybatis里的一个xml文件的一段代码为
<select id="selByName" parameterType="java.lang.String" resultMap="userResult">
select * from user where USER_NAME=#userName
</select>
报错为Unknown column 'USER_NAME' in 'where clause' 而把USER_NAME换成username则不报错。
我记得以前都是可以用下划线的,为什么这次不能
USER_NAME应该是数据库中没有这个名字。
这种方式 不是驼峰式命名, 你那个ID名, 才是驼峰式的命名。
虽然数据库不区分大小 写,但是, username 和USER_NAME是不一样的。
你指的是RESULTMAP吗
追答是的
追问
对应了的
那么数据库的字段名称要是USER_NAME,你检查一下是不是小写的user_name
驼峰式命名改下划线命名
import sys import re if __name__ == "__main__": # 读取第一行的n n = int(sys.stdin.readline().strip()) str = [] for i in range(n): # 读取每一行 line = sys.stdin.readline().strip() # 匹配正则,匹配小写字母和大写字母的分界位置 p = re.compile(r‘([A-Z][a-z]*)‘) # 这里第二个参数使用了正则分组的后向引用 sub = re.findall(p, line) print(sub) ret = [] temp = ‘‘ for index, item in enumerate(sub): if len(item) > 1: if len(temp) > 1: ret.append(temp) temp = ‘‘ ret.append(item) else: temp += item if index == len(sub)-1: ret.append(temp) ret = [i.lower() for i in ret] str.append(ret) for i in str: print(str)
以上是关于mybatis为啥这次我用驼峰式命名不对的主要内容,如果未能解决你的问题,请参考以下文章
mybatis 支持属性使用驼峰的命名 返回map为啥不支持
mybatis—当表的字段名和实体类的列名不对应时的三种处理方式