model中查询自定义的对象转换问题

问题描述:

数据库的表为:

问题表:shadow_question,包含id、问题名称(name)、问题类别(type)、提问人id等

提问人信息表:shadow_user,包含一些用户的信息(name, age, sex)              

在model中希望获取问题表和提问人表的链接

select shadow_question.id, shadow_question.name qname, shadow_user.name uname, shadow_user.age from shadow_question, shadow_user where shadow_question.id = shadow_user.id

自定义了一个对象用来存储返回结果

public class UserQuestionVO{

    public int id;

    public String qname;

    public String uname;

    public int age;

}

可是使用Db.query(sql),获取的是java.long.object对象,请问有什么方法能直接转换为UserQuestionVO对象嚒?

评论区

Shydow

2017-12-04 15:10

jfinal使用的是2.2,之所以没用find是因为实际应用中用的是mysql过程String sqlStr = "CALL pro_show_childLst(" + parentId + ");";,会报The table name: xxx not in your sql的错误

JFinal

2017-12-04 17:16

使用 jfinal 的 Generator,生成 base model,会自动拥有 getter、setter 方法,然后你再通过 Model 来转成 VO 就很方便了

报 The table name: xxx not in your sql 的错误,因为在开发模式下会检查你的 sql 是否包含了主表的表名,这个在 jfinal 更高版本中已经移除了这个判断,建议升级到 jfinal 3.3

热门反馈

扫码入社