为什么我数据库字段设置为“id”就没报错,设置成“uid”就报错呢。页面输入数据库都能插入,

image.png

评论区

路桥伊人

2018-10-20 15:28

刚看了文档发现这语句 String sql = "select o.*, u.user_name from order o inner join user u on o.Uid=u.id where o.id=?";
是不是以后有关联的表里面的id字段命名都不能为其他,要将关联的表拿来用只能这么使用语句吧

JFinal

2018-10-20 17:13

@路桥伊人 检查一下这张表的映射代码指定了 "uid" 为主键没
activeRecordPlugin.addMapping("user", "uid", User.class);

映射工作可以是自动话的,估计你没有使用 jfinal 的生成器。 生成器会自动映射好 "uid" 这个值,如果是手动映射就要自己将这个值填在第二个参数处

在首页下载 jfinal demo,里面有生成器,改改配置即可使用

maxwade

2018-10-20 18:43

@路桥伊人 debug下就可以了,肯定是_mapping那里不正确。

路桥伊人

2018-10-20 21:57

@JFinal解决了原本用的是jfinal-2.2-bin-with-src.jar
改为jfinal-3.5-bin-with-src.jar,再按你的方法做就没问题了

JFinal

2018-10-20 22:19

@路桥伊人 id 映射的事情一直没动过的,升级 jfinal 这里不会出问题的,总之 id 主键名要映射进去,如果不映射默认值为 "id"

两年前 jfinal 有了生成器以后,映射文件都是自动生成的,生成的文件名为 _MappingKit.java

热门分享

扫码入社