首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
sql传参大小写问题
sxf2018
2018-06-07 16:26
我想根据实体类中传入的参数来判断是否追加查询条件,但是在Action中看的参数是大写,service中调用service中的方法就是小写。断点看的两次attrs这个Map不一样,不知道是什么意思?
项目:
JFinal
评论区
杜福忠
2018-06-07 16:39
因为Action中看的时候是通过JFinalConfig中启动配置过
CaseInsensitiveContainerFactory的,
而service中调用service中? 是junit.Test调用吧 ?
看源码: http://www.jfinal.com/share/223
回复
sxf2018
2018-06-07 16:47
@杜福忠
service调用service是一个Action调用service,然后这个service又调用另一个service去查数据库
回复
JFinal
2018-06-07 17:03
使用 CaseInsensitiveContainerFactory 的时候,去掉构造方法中的参数,例如:
arp.setCaseInsensitiveContainerFactory(new CaseInsensitiveContainerFactory());
注意看上面的代码,最后的小括号里头,不能是true 也不能是false,要留空
此外, oracle 从数据库查询出来的字段 JDBC 默认会帮你转成大写,建议用生成器生成 setter getter 来解决
回复
sxf2018
2018-06-07 17:19
@JFinal
感谢 可以了 ,但是为什么在service中会变成CaseInsensitiveContainerFactory?什么原理呢
回复
JFinal
2018-06-07 17:24
@sxf2018
你事先设置过:
arp.setCaseInsensitiveContainerFactory(new CaseInsensitiveContainerFactory());
一般不建议用这个东东,如果你的数据库不是 oracle 的话,更不建议用
回复
sxf2018
2018-06-07 17:39
@JFinal
大神 膜拜
回复
发送
我要反馈
热门反馈
扫码入社
CaseInsensitiveContainerFactory的,
而service中调用service中? 是junit.Test调用吧 ?
看源码: http://www.jfinal.com/share/223