• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

sql-builder: 基于jfinal的数据库链式操作工具类

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

sql-builder

开源软件地址:

https://gitee.com/yanagi/sql-builder

开源软件介绍:

sqlbuild是一个数据集工具集合,它可以快速调用sql语句,简化Controller参数,拼表,自动拼表等功能 其中包括了5个子集

  • ArrayStrUtil 把逗号分隔字符串和数组互转
  • FormFilter 对表单的值进行封装
  • iAssociation 关联的接口
  • iAutoBind 自动绑定的接口
  • MergeConfig 合并数据集的配置
  • MergeData 合并数据
  • MergeUtil 优化合并数据的使用方式的类
  • SqlBuilder 快速调用sql

1.ArrayStrUtil

普通列表项目字符串转数组如1,2,3 转成 [1,2,3] 数组类型支持常用的int[] long[] Set ArrayList

数组转字符串以上支持的数组类型重新变成1,2,3 这样的字符串

2.FormFilter

封装表单的参数,继承了HashMap<String,String> 方便在多参数进行列表查询时,controller向service传递参数时不需要写过多参数 注意:不要在非列表业务中传递该对象。

编辑

3.iAssociation

(自动绑定相关)关联接口,给model继承,可以在别的对象关联它的时候给出默认的MergeConfig合并配置

4.iAutoBind

(自动绑定相关)自动绑定接口,给model继承,可以在该对象需要自动绑定的时候去依次绑定相关的数据

5.MergeConfig

主表和外表需要绑定时用到的配置 共有以下参数

fk 主表的外键(初始化参数)pk 附表的主键columns 附表要列出的列名aliasName 附表合并后的别名

6.MergeData

对一个list<model|record>进行数据合并 支持合并的类型

另一个先有的list<model|record>,需要通过一个MergeConfig配置另一个数据库表中数据,需要通过一个MergeConfig配置另一个MAP数据对源数据自动绑定注:如果原来的数据中有name,绑定数据中的字段也有name,那么绑定后的name会被重定义成name2 依次类推,继续绑定会有name3 name4。该特性为了避免绑定相同的字段,数据被覆盖。 开发劲量不要用到该特性 劲量使用MergeConfig的aliasname对字段设置别名。

该类提供了删除字段,修改字段名等操作。

7.MergeUtil

对以上类进行封装,可以对数据集进行链式操作。

8.SqlBuilder

快速调出sql数据集的主类 如下:

      return SqlBuilder.dao(Alarm.dao) //选择对应的dao              .where(Alarm._organization_fk, "in", Service.getChildrenIdsSet(orgId)) //where条件              .where(Alarm._add_time, ">", filter.getInt("start_time"))              .where(Alarm._add_time, "<", filter.getInt("end_time"))              .where(Alarm._status, filter.getInt("status"))              .where(Alarm._type, filter.getInt("type"))              .where(Alarm._level, filter.getInt("level"))              .where(Alarm._resident_nature_type, filter.getInt("resident_nature_type"))              .orderBy(Alarm._add_time, "desc")//order条件              .allPage(filter);

注意: 条件为null的时候会自动忽略该条件语句


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap