jFinal 中使用动态sql

接触到老项目,发现查询sql在代码里面拼接的,维护起来太痛苦了.........,能像MyBatis、iBatis那样动态拼接,代码也要漂亮些。。

于是:

        使用: jfinal-ext SqlInXmlPlugin 或者 Dreampie jfinal-sqlinxml 来扫描sql文件,

        使用: BeetlKit.render(sqlTemplete,param); 来处理sql。

案例如下:

<sql id="dataDictionaryQueryPaging">
    <![CDATA[
        FROM t_s_data_dictionary
        <% if(isEmpty(sort) && has(order)){ %>
            ORDER BY group_type_code,type_code ${order}
        <% }else if( has(sort) && has(order)){ %>
            ORDER BY ${sort} ${order}
        <% } %>
    ]]>
</sql>
public void queryPaging() {
    PagingDto pagingDto = DataTableKit.getBoostrapTablePagingParameter(getRequest());

    Map<String, Object> param = new HashMap();
    param.put("order", getPara("order"));
    param.put("sort", getPara("sort"));

    Page<Record> page = Db.use(SystemConstant.SYSTEM).paginate(pagingDto.getPageNumber(),
            pagingDto.getPageSize(),
            "SELECT *",
            BeetlSqlKit.sql("system.dataDictionaryQueryPaging", param));

    renderJson(DataTableKit.toBootstrapTableData(page));
}
public class BeetlSqlKit {

    /**
     * @param groupNameAndsqlId
     * @param param
     * @return
     */
    public static String sql(String groupNameAndsqlId,Map<String, Object> param){
        String sqlTemplete =   SqlKit.sql(groupNameAndsqlId);
        if (sqlTemplete == null)
            throw new NullPointerException("sqlID " + groupNameAndsqlId + " not fond!");

        return BeetlKit.render(sqlTemplete,param);
    }
}

应该要方便些 ^_^

转载于:https://my.oschina.net/ZhouLin0/blog/420407

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值