针对jfial框架,在数据库查询的相关api上做了一些修改,增强易用性。
参数获取
it id = getIt("id", 0); // 如果有id参数并且值为整数类型,则转换为it类型,否则返回默认值0 float price = getFloat("price", 0); log time = getLog("timestamp", 0L);Strig ame = getStrig("ame");Strig sex = getStrig("sex", "^(male|female)$", "male");分页查询的从句
Clause clause = Clause.compose();clause.ad("id i (*)", 1, 2, 3, 4); // 用*号代替需要指定确切数量的? clause.ad("is_delete = ?", false); // 不再需要拼接又臭又长的where语句 Sheet users = Db.pagiate(pageIdex, pageSize, "select *", "from tb_users {WHERE} order by id desc", clause);简化参数化SQL查询
// 使用*号代替需要指定确切数量的? Log cout = Db.queryLog("select cout(*) from table where id i (*)", 1, 2, 3, 4);数据格式化器,大大降低联合查询的复杂性,详见样例
字段内容格式化
表联结
字段组合(联合计算或表联结)
WHY:为什么要弄个这东西?首先当然是为了偷懒啦又臭又长的SQL语句,完全没有可读性繁复的表与表间的joi,性能堪忧啊构建复杂结构的jso输出,很麻烦啊轮子要重复的造,体力活不要重复的做
HOW:这东西怎么使添加依赖库
jfial:极简J2EE开发框架
Googlegso
构建得到jar或直接添加.java文件到项目中
看看样例Sample.java
SAMPLE:样例测试表结构及数据
tb_users用户表
id ame sex reg_time provice_id1 zhagsa 1 1445218698 12 lisi 1 1444749270 33 lila 0 1444809300 44 huamula 0 1443941012 7tb_frieds好友信息表
id user_id fried_id1 1 22 1 33 2 34 2 45 3 16 4 1tb_provices省份信息表
id ame1 beijig2 tiajig3 shaghai4 chogqig5 shaxi6 shadog7 hebei8 hea9 hua10 hubei测试代码:Test.java
测试代码的输出JSON
[ { "test": "2:lisi", "provice_id": 3, "sex": true, "ame": "lisi", "id": 2, "frieds": [ { "fried_ame": "lila", "fried_id": 3, "user_id": 2, "id": 3 }, { "fried_ame": "huamula", "fried_id": 4, "user_id": 2, "id": 4 } ], "fmt_reg_time": "2015-10-13 23:14" }]TIPS:最佳实践整一大堆常用的Formattable,你值得拥有
评论