用 Form-Sql-Builder-mysql 将用户提交的表单自动转化成sql

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

更具体的关于

参见github官网

时间: 2024-08-26 03:45:45

用 Form-Sql-Builder-mysql 将用户提交的表单自动转化成sql的相关文章

jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).

Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.引入依赖js <script src="jquery-1.3.1.js" type="text/javascript"></script> <script src="jquery.form.js" type="text/javascript"&g

表单自动提交问题整理

表单自动提交问题 问题描述 二是利用了浏览器的默认行为(至少发现ie是这样的).浏览器在解析网页的时候,有许多默认的行为,例如: * 如果一个页面上有表单和一个提交按钮,那么打开页面时,焦点会自动落在这个提交按钮上面. * 同样如果一个表单中只有一个单行文本输入域(text),那么在这个输入域中按Enter键时,浏览器会自动提交该表单. 我们对于第一种情况一般都知道而且很容易理解,但是对于第二种浏览器的默认行为,可能知道这一点的人就比较少了,下面我具体看一下浏览器(至少ie如此)在表单提交上的默

js页面用户信息填写表单

在网页中我们会经常看见各色的用户信息填写表单,其中会包括各种输入框.按钮.单复选框和下拉式菜单,今天的我们就以最简单的为例做一个简易版的用户信息填写表单(此处使用html文本),仅供初学者参考,也请各位前辈多多指教! 在这个范例当中,我们将对用户输入的信息做简易验证.主要判读那用户名.密码.确认密码不能为空,密码和确认密码要保持一致. 注意点: 1.用户信息的填写如果是在一张form表单中,则只能出现一个submit按钮提交,这种情况比较简易,只需要在body模块<form>中添加onSubm

创建供用户输入的表单

利用相关的表单元素,创建供用户输入的表单,获取用户的输入. 代码如下: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>taobaodenglvyemian</title></head><body><form action="http://www.taobao.com&

jquery ajax提交整个表单参数

转自 : http://www.jb51.net/article/35085.htm function submit(){ var formData=$("form").serialize();  $.ajax({  type: "POST",  url: "/index.aspx",  processData:true,  data:formData,  success: function(data){  $("#result&quo

jQuery form插件的使用--使用 fieldValue 方法校验表单

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>jQuery form插件的使用--使用 fieldValue 方法校验表单.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-

提交空表单对isset的影响

通过下面的示例代码进行讲解: 1.当首次载入页面时,因为表单未提交,所以$_POST为空数组,此时$_POST['name']为NULL,即变量$name尚未设置, 通过isset判断,此时isset($name)为假: 2.当页面已经载入,但是输入用户名处未进行任何输入,此时提交表单时,此时$_POST['name']为空字符串,即变量$name已经设置; 通过isset判断,此时isset($name)为真: 总结:1.因为当提交空表单时,$_POST['变量名']提交的是空字符串,但是绝对

按下enter键后表单自动提交问题

在HTML的form表单里,按下enter键之后,默认情况下表单会自动提交. 在公司一个项目里,按下enter键自动提交表单的查询结果与按下搜索框的搜索结果页面显示不一样,按下搜索按钮之后是通过Ajax请求返回结果:而按下enter键是直接post请求然后跳转返回一个页面,失去了页面样式及导航等. 一开以为是写了js代码导致按下enter键之后会触发表单提交,后来把js代码全部移除也是一样地按下enter键会触发表单提交.到网上搜索发现是因为默认情况下在form表单内按下enter键会触发表单自

jquery 预览提交的表单

预览表单,查看后确认提交或者返回重填 演示 XML/HTML Code <form class="mform" id="myform" method="POST" id="myform" action=""> <fieldset> <legend>Registeration</legend> <table cellspacing="0"