public class Sql
extends java.lang.Object
构造器和说明 |
---|
Sql(javax.servlet.http.HttpServletRequest request) |
限定符和类型 | 方法和说明 |
---|---|
java.lang.String |
appendWhere(java.lang.String appendWhere)
附加WHERE查询条件,如 "status=2"。
|
java.lang.String |
getOrderBy()
获取当前计算好要使用的排序规则
|
java.lang.String |
getSql()
获取生成的SQL语句,同
Sql#generateSql(String, Page) 生成的SQL语句 |
java.lang.String |
getWhere()
获取当前组合好的WHERE查询条件
|
java.lang.String |
inject(java.lang.String content)
防sql注入
|
void |
setDefaultOrderBy(java.lang.String defaultOrderBy)
默认排序规则。
|
void |
setGroupBy(java.lang.String groupBy)
设置 GROUP BY 条件。
|
void |
setOrderBy(java.lang.String orderBy)
排序规则,传入的数值如: user.id DESC
若设置了此项,get传入的排序方式则不起作用 |
java.lang.String |
setSearchColumn(java.lang.String[] column)
设置搜索的数据表列,组合WHERE
如 sql.setSearchColumn(new String[]{"city=","area=","type=","id>"}); |
void |
setSearchTable(java.lang.String tableName)
设置
setSearchColumn(String[]) 搜索的数据表。 |
java.lang.String |
setSelectFromAndPage(java.lang.String selectFrom,
Page page)
创建生成的SQL
|
public java.lang.String setSearchColumn(java.lang.String[] column)
column
- 列名数组。只要在数组中的都会自动从request取出来加入where。
数据表的字段名需要跟get/post传入的名字相同
如列名为createTime,可为:createTime> 。如果只传入createTime,则会使用默认的LIKE模糊搜索
public java.lang.String setSelectFromAndPage(java.lang.String selectFrom, Page page)
selectFrom
- 如 SELECT * FROM userpage
- Page
自动分页模块,LIMIT分页public java.lang.String getWhere()
public java.lang.String getSql()
Sql#generateSql(String, Page)
生成的SQL语句public void setSearchTable(java.lang.String tableName)
setSearchColumn(String[])
搜索的数据表。是搜索哪个数据表里的字段。若sql只是查一个表,可不用设置此处。忽略即可
tableName
- public java.lang.String inject(java.lang.String content)
content
- 检查的内容public java.lang.String appendWhere(java.lang.String appendWhere)
public java.lang.String getOrderBy()
public void setOrderBy(java.lang.String orderBy)
orderBy
- 如: user.id DESCpublic void setDefaultOrderBy(java.lang.String defaultOrderBy)
defaultOrderBy
- 如user.id DESCpublic void setGroupBy(java.lang.String groupBy)
groupBy
- 传入字段名如: user.id