当前位置:K88软件开发文章中心网站服务器框架JFinal → 文章内容

5.3 Model

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-25 14:21:51

由 厦门小懒懒 创建, 最后一次修改 2016-10-06 Model 是 ActiveRecord 中最重要的组件之一,它充当 MVC 模式中的 Model 部分。以下是Model 定义示例代码:public class User extends Model<User> {public static final User dao = new User();}以上代码中的 User 通过继承 Model,便立即拥有的众多方便的操作数据库的方法。在 User 中声明的 dao 静态对象是为了方便查询操作而定义的,该对象并不是必须的。基于 ActiveRecord 的 Model 无需定义属性,无需定义 getter、setter 方法,无需 XML 配置,无需 Annotation 配置, 极大降低了代码量。以下为 Model 的一些常见用法:// 创建name属性为James,age属性为25的User对象并添加到数据库new User().set("name", "James").set("age", 25).save(); // 删除id值为25的User User.dao.deleteById(25); // 查询id值为25的User将其name属性改为James并更新到数据库User.dao.findByIdLoadColumns (25).set("name", "James").update(); // 查询id值为25的user, 且仅仅取name与age两个字段的值User user = User.dao.findByIdLoadColumns (25, "name, age"); // 获取user的name属性String userName = user.getStr("name"); // 获取user的age属性Integer userAge = user.getInt("age"); // 查询所有年龄大于18岁的userList<User> users = User.dao.find("select * from user where age>18"); // 分页查询年龄大于18的user,当前页号为1,每页10个userPage<User> userPage = User.dao.paginate(1, 10, "select *", "from user where age > ?", 18);特别注意:User 中定义的 public static final User dao 对象是全局共享的,只能用于数据库查询, 不能用于数据承载对象。数据承载需要使用 new User().set(…)来实现。

5.3 Model