美文网首页
JFinal 独创 Db + Record 模式

JFinal 独创 Db + Record 模式

作者: 静止_核桃 | 来源:发表于2017-08-15 14:23 被阅读43次

    Db 类及其配套的 Record 类,提供了在 Model 类之外更为丰富的数据库操作功能。使用
    Db 与 Record 类时,无需对数据库表进行映射,Record 相当于一个通用的 Model。以下为 Db +Record 模式的一些常见用法:

    // 创建name属性为James,age属性为25的record对象并添加到数据库
    Record user = new Record().set("name", "James").set("age", 25);
    Db.save("user", user);
    // 删除id值为25的user表中的记录
    Db.deleteById("user", 25);
    // 查询id值为25的Record将其name属性改为James并更新到数据库
    user = Db.findById("user", 25).set("name", "James");
    Db.update("user", user);
    // 获取user的name属性
    String userName = user.getStr("name");
    // 获取user的age属性
    Integer userAge = user.getInt("age");
    // 查询所有年龄大于18岁的user
    List<Record> users = Db.find("select * from user where age > 18");
    // 分页查询年龄大于18的user,当前页号为1,每页10个user
    Page<Record> userPage = Dbb.paginate(1, 10, "select *", "from user where 
    age>?",18);
    
    boolean succeed = Db.tx(new IAtom(){
    public boolean run() throws SQLException {
    int count = Db.update("update account set cash = cash - ? where
    id = ?", 100, 123);
    int count2 = Db.update("update account set cash = cash + ? where
    id = ?", 100, 456);
    return count == 1 && count2 == 1;
    }});
    
    

    以上两次数据库更新操作在一个事务中执行,如果执行过程中发生异常或者 run()方法返
    回 false,则自动回滚事务。
    摘自Jfinal手册

    相关文章

      网友评论

          本文标题:JFinal 独创 Db + Record 模式

          本文链接:https://www.haomeiwen.com/subject/nezmrxtx.html