public class SqlBuilder extends Object
SQL动态生成工具
最终生成的sql语句的拼接方式为 sql + [apendSql] + [order] + [limit语句]
最基本的分页方式的sql语句格式如下
SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...
生成动态SQL语句的工具Modifier and Type | Method and Description |
---|---|
SqlBuilder |
condition(String condition,
Object value)
增加一个比较条件
|
String |
countSql()
构造一个统计查询语句
|
static SqlBuilder |
create(String sql)
创建一个SQL语句生成工具
|
Object[] |
getArgs()
提取出查询参数
|
SqlBuilder |
order(String order)
设置排除条件
|
SqlBuilder |
pageNum(int pageNum)
设置当前页页码
|
SqlBuilder |
pageSize(int pageSize)
设置分页大小
|
String |
pageSql()
构造一个分页查询语句
|
String |
pageSql(String apendSql)
构造一个分页查询语句
|
SqlBuilder |
selective(boolean selective)
是否为动态方式,默认为true
|
String |
sql()
构造一个查询所有结果的查询语句
|
String |
sql(String apendSql)
构造一个查询所有结果的查询语句
|
public static SqlBuilder create(String sql)
创建一个SQL语句生成工具
该部分必须为一个可行的sql语句,例如
select * from user where 1=1
也可以为
select u.id as id ,u.user_name as name from user u , app a where u.id=a.user_id
形式
sql
- sql语句前半部分public SqlBuilder selective(boolean selective)
selective
- true表示值为null或空字符串的条件不参与生成sqlpublic SqlBuilder condition(String condition, Object value)
增加一个比较条件
最终生成的sql语句的顺序与添加的比较条件的顺序有关系condition
- 比较条件的属性 例如 and name = ? ,需要携带上联条件value
- 比较条件的值public SqlBuilder pageSize(int pageSize)
pageSize
- 分页大小public SqlBuilder pageNum(int pageNum)
pageNum
- 当前页页码public SqlBuilder order(String order)
order
- 排序条件public Object[] getArgs()
public String sql()
public String sql(String apendSql)
apendSql
- 最后追加的SQLpublic String pageSql()
public String pageSql(String apendSql)
apendSql
- 最后追加的SQLpublic String countSql()
Copyright © 2021. All rights reserved.