用 Form-Sql-Builder-mysql 将用户提交的表单自动转化成sql
2014-10-13 08:35
267 查看
用 Form-Sql-Builder-mysql 将用户提交的表单自动转化成sql
<groupId>org.crazycake</groupId>
<artifactId>form-sql-builder-mysql</artifactId>
<version>1.0.0-RELEASE</version>
</dependency>
快速开始
STEP 1. 创建一个规则文件
在classpath下建立一个文件夹叫 formSqlRules ,在这个文件夹下创建global.json
{
"global":[
{
"field":"String:*",
"op":"like",
"rel":"and"
},{
"field":"*:*",
"op":"=",
"rel":"and"
}
]
}STEP 2. 创建一个测试用PO类
public class Person {
private Integer activeStatus;
private String name;
private Integer age;
private String city;
public Person(String name, Integer age, String city, Integer activeStatus){
this.name = name;
this.age = age;
this.city = city;
this.activeStatus = activeStatus;
}
public Integer getActiveStatus() {
return activeStatus;
}
public void setActiveStatus(Integer activeStatus) {
this.activeStatus = activeStatus;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
STEP 3. 调用 FormSqlBuilder
Person form = new Person("jack", 36, "ny", 1);
FormSqlBuilder b = new FormSqlBuilder(form, "global");
b.addLimit(1, 20);
SqlAndParams s = b.build();
System.out.println(s.getSql());
for(Object v:s.getParams()){
System.out.println(v);
}控制台输出
SELECT * FROM person WHERE name like ? AND city like ? AND active_status = ? AND age = ? LIMIT 0,20
jack
ny
1
36更具体的关于
规则的写法和可选值
通配符的用法
范围查询
分组查询
添加limit
添加排序
IN查询
参见github官网
maven依赖
<dependency><groupId>org.crazycake</groupId>
<artifactId>form-sql-builder-mysql</artifactId>
<version>1.0.0-RELEASE</version>
</dependency>
快速开始
STEP 1. 创建一个规则文件
在classpath下建立一个文件夹叫 formSqlRules ,在这个文件夹下创建global.json
{
"global":[
{
"field":"String:*",
"op":"like",
"rel":"and"
},{
"field":"*:*",
"op":"=",
"rel":"and"
}
]
}STEP 2. 创建一个测试用PO类
public class Person {
private Integer activeStatus;
private String name;
private Integer age;
private String city;
public Person(String name, Integer age, String city, Integer activeStatus){
this.name = name;
this.age = age;
this.city = city;
this.activeStatus = activeStatus;
}
public Integer getActiveStatus() {
return activeStatus;
}
public void setActiveStatus(Integer activeStatus) {
this.activeStatus = activeStatus;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
STEP 3. 调用 FormSqlBuilder
Person form = new Person("jack", 36, "ny", 1);
FormSqlBuilder b = new FormSqlBuilder(form, "global");
b.addLimit(1, 20);
SqlAndParams s = b.build();
System.out.println(s.getSql());
for(Object v:s.getParams()){
System.out.println(v);
}控制台输出
SELECT * FROM person WHERE name like ? AND city like ? AND active_status = ? AND age = ? LIMIT 0,20
jack
ny
1
36更具体的关于
规则的写法和可选值
通配符的用法
范围查询
分组查询
添加limit
添加排序
IN查询
参见github官网
相关文章推荐
- form 表单自动提交问题
- 回车自动提交Form表单的问题
- form表单里面 button标签自动提交表单的问题
- WebBrowser控件表单(form)的自动填写和提交
- 今天遇到一个问题,原来在html的form中如果只有一个type="text"的控件,如果在text中点击回车键,就是自动提交表单!
- 关于form表单底下 button自动提交表单的问题
- form表单底下的button按钮点击自动提交恶心问题的解决
- 防止Form表单的自动提交
- form表单button自动提交表单处理方法
- .net 火车头 ------表单(form)的自动填写和提交
- FORM中使用onSubmit="return false"防止表单自动提交
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- 笔记之Servlet的会话管理技术(cookie、session)(应用:用户自动登录、防表单重复提交)
- rails上传文件时,实现form表单自动提交
- .net 火车头 ------表单(form)的自动填写和提交
- 总结:FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- 回车自动提交Form表单的问题
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- ajax form数据封装,ajax提交整个form表单,ajax 自动获取当前form数据
- form表单file,select选择后自动提交