2 Star 2 Fork 0

matrixy / jfinal-dbx

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
WTFPL

##WHAT:这是个什么鬼?

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

  1. 参数获取
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");
  1. 分页查询的从句
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);
  1. 简化参数化SQL查询
// 使用*号代替需要指定确切数量的?
Long count = Db.queryLong("select count(*) from table where id in (*)", 1, 2, 3, 4);
  1. 数据格式化器,大大降低联合查询的复杂性,详见样例
    1. 字段内容格式化
    2. 表联结
    3. 字段组合(联合计算或表联结)

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

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

##HOW:这东西怎么使

  1. 添加依赖库
    1. jfinal:极简J2EE开发框架
    2. Google gson
  2. 构建得到jar或直接添加.java文件到项目中
  3. 看看样例Sample.java

##SAMPLE:样例

  1. 测试表结构及数据
    1. tb_users 用户表
    id		name		sex		reg_time			province_id
    1		zhangsan	1		1445218698			1
    2		lisi		1		1444749270			3
    3		lilan		0		1444809300			4
    4		huamulan	0		1443941012			7
    1. tb_friends 好友信息表
    id		user_id		friend_id
    1		1				2
    2		1				3
    3		2				3
    4		2				4
    5		3				1
    6		4				1
    1. tb_provinces 省份信息表
    id		name
    1		beijing
    2		tianjing
    3		shanghai
    4		chongqing
    5		shanxi
    6		shandong
    7		hebei
    8		henan
    9		hunan
    10		hubei
  2. 测试代码:Sample.java
  3. 测试代码的输出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,你值得拥有

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2015 Matrixy <matrixy@me.com> Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO.

简介

基于jfinal框架的数据库增强 展开 收起
WTFPL
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/matrixy/jfinal-dbx.git
git@gitee.com:matrixy/jfinal-dbx.git
matrixy
jfinal-dbx
jfinal-dbx
master

搜索帮助