jfinal-dbx JFinal 数据库模块改进开源项目

我要开发同款
匿名用户2015年10月26日
25阅读
开发技术Java
所属分类Web应用开发、Web框架
授权协议WTFPL

作品详情

针对jfinal框架,在数据库查询的相关api上做了一些修改,增强易用性。

参数获取

int id = getInt("id", 0); // 如果有id参数并且值为整数类型,则转换为int类型,否则返回默认值0 float price = getFloat("price", 0); long time = getLong("timestamp", 0L);String name = getString("name");String sex = getString("sex", "^(male|female)$", "male");

分页查询的从句

Clause clause = Clause.compose();clause.and("id in (*)", 1, 2, 3, 4); // 用*号代替需要指定确切数量的? clause.and("is_delete = ?", false); // 不再需要拼接又臭又长的where语句 Sheet users = Db.paginate(pageIndex, pageSize, "select *", "from tb_users {WHERE} order by id desc", clause);

简化参数化SQL查询

// 使用*号代替需要指定确切数量的? Long count = Db.queryLong("select count(*) from table where id in (*)", 1, 2, 3, 4);

数据格式化器,大大降低联合查询的复杂性,详见样例

字段内容格式化

表联结

字段组合(联合计算或表联结)

WHY:为什么要弄个这东西?

首先当然是为了偷懒啦又臭又长的SQL语句,完全没有可读性繁复的表与表间的join,性能堪忧啊构建复杂结构的json输出,很麻烦啊轮子要重复的造,体力活不要重复的做

HOW:这东西怎么使

添加依赖库

jfinal:极简J2EE开发框架

Googlegson

构建得到jar或直接添加.java文件到项目中

看看样例Sample.java

SAMPLE:样例

测试表结构及数据

tb_users用户表

id        name        sex        reg_time            province_id1        zhangsan    1        1445218698            12        lisi        1        1444749270            33        lilan        0        1444809300            44        huamulan    0        1443941012            7

tb_friends好友信息表

id        user_id        friend_id1        1                22        1                33        2                34        2                45        3                16        4                1

tb_provinces省份信息表

id        name1        beijing2        tianjing3        shanghai4        chongqing5        shanxi6        shandong7        hebei8        henan9        hunan10        hubei

测试代码:Test.java

测试代码的输出JSON

[ {     "test": "2:lisi",     "province_id": 3,     "sex": true,     "name": "lisi",     "id": 2,     "friends": [         {             "friend_name": "lilan",             "friend_id": 3,             "user_id": 2,             "id": 3 },         {             "friend_name": "huamulan",             "friend_id": 4,             "user_id": 2,             "id": 4 }     ],     "fmt_reg_time": "2015-10-13 23:14" }]TIPS:最佳实践

整一大堆常用的Formattable,你值得拥有

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论