反馈问题

       反馈2个问题。

       问题1: 

       我的数据表中有个字段名称是"settlementAmount", 以 set开头,代码生成器中生成的是这样的:

image.png

字段名首字母也没有大写,我手动改过来了。但是在保存的时候又报异常了:

com.jfinal.plugin.activerecord.ActiveRecordException: The attribute name does not exist: "settlementAmount"

at com.jfinal.plugin.activerecord.Model.set(Model.java:217)

说这个属性不存在。

-------------------------------------------------------------------------------------

问题2:

        jfinal 官方文档 http://www.jfinal.com/doc/5-13 有如下说明:

image.png

我这样写:
image.png

但是一直报异常:com.jfinal.plugin.activerecord.ActiveRecordException: java.sql.SQLException: No value specified for parameter 1

代码检查了N次,没发现问题,直接放数据库执行也是没问题的,后来调试发现:

image.png

参数是传了进来,但是没有放入 sqlPara 中,通过以下方法解决:
image.png

        希望能帮到遇到此问题的人。

评论区

JFinal

2018-12-26 21:39

settlementAmount 生成的问题,有两个同学碰到过, 原因是数据库字段名前面有不可见字符:换行符,在数据库中将这个字段删掉,重新创建,不要 copy ,因为 copy 可以将换字字符 copy 过来

第二个问题,某些 para 没有添加,应该是你的 select 子句中包含了 #para 这样的指令

select 子句用于分页时,是要被正则表达式去除掉的,看一下 paginate 原理就知道了。

解决办法是,外层再套一个 select * from ( 原 sql ) as temp

具体原因与解决办法文档中有:
https://www.jfinal.com/doc/5-6

我爱编程

2018-12-27 08:44

感谢老大的及时回复,第一个问题确实如老大所说,确实有不可见字符,我删除后手动输入就可以了。

热门反馈

扫码入社