JFinal源码走读_4_ActiveRecord CURD分析

本文深入探讨了JFinal ActiveRecord如何实现数据库的CURD操作,重点分析了Model的save方法和find方法,揭示了ModelBuilder在构建结果集时的角色。通过规范的数据库字段命名和Table对象的使用,JFinal简化了持久层的建设,免除了传统ORM框架的映射定义和配置文件,提供了一种高效、简洁的数据库交互方式。
摘要由CSDN通过智能技术生成

ActiveRecord CURD分析

ActiveRecord初始化时,将Table对象与数据表进行了映射关联,那么activerecord又是如何实现与数据库交互的呢

  • 所有的自定义model都会继承Model
    类,而Model类封装了常用的数据库操作
  • Model通过Table来处理具体的映射关系
  • Model使用Map
Model的save方法探秘
public boolean save() {

        // 获取config,此config是初始化时放进DbKit中的
        Config config = getConfig();

        // 获取当前model对应的table实例
        Table table = getTable();

        //声明一个sql语句的承载对象
        StringBuilder sql = new StringBuilder();

        //声明一个paras集合
        List<Object> paras = new ArrayList<Object>();

        //通过方言处理器生成针对指定数据库的sql语句
        //针对mysql生成的语句:insert into `blog`(`content`, `id`, `title`) values(?, ?, ?)
        config.dialect.forModelSave(table, attrs, sql, paras);

        Connection conn = null;
        PreparedStatement pst = null;

        int result = 0;
        try {
            conn 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值