《JDBC中SQL条件查询》
《JDBC中SQL条件查询》
开发工具与关键技术:MyEclipse 10、Java
作者:潘玉莹
撰写时间:2019-08-14
在我们做项目当中,缺少不了查询,条件查询是我们经常会用到的一个知识点,例如:时间段的查询,根据姓名查询,根据编号查询。这里我要写的是关于各种类型的条件查询 平时我们做项目中最常遇到的会有 Int、String、Boolea 如下。我这里用到的是在SQL进行append追加。
-
整形Int
SQL语句:private String ceShi= select * from employee;
我们首先要获取一个整形的值,可以通过控制器传送过来。我们需要做一个判断,如果这里值是大于0的话。那就执行里面的代码。注意:当我们使用append进行追加的话,因为我们使用的追加是直接在sql语句追加上去的。所以我们应该在AND前加上一个空格,如不加空格的话,就会与sql后面的最后一个单词连在一起,将查不到数据。
如下代码
String Builderbuilder = new StringBuilder(ceShi);
if (yuanGongId > 0) {
builder.append(" AND r.YuanGongID=" + yuanGongId);
} -
字符型String
我们需要判断当字符不等于空的时候,才执行里面的的语句,这样判断的原因是,当我们不执行条件查询时就不会有报错的情况。同样也需要注意空格
SQL语句:private String ceShi= select * from employee;
String Builderbuilder = new StringBuilder(ceShi);
if (ZhangWu!="" && !ZhangWu.isEmpty()){
builder.append(" AND zhangWuZhouQi = ‘" + ZhangWu +"’");
} -
布尔型Boolean
SQL语句:private String ceShi= select * from employee;
String Builderbuilder = new StringBuilder(ceShi);
if (ZhangWu!="" && !ZhangWu.isEmpty()){
builder.append(" AND zhangWuZhouQi = ‘" + ZhangWu +"’");
}
- 时间段查询
我这里所用到的时间段查询,接收的也是String类型的,这里用到的是BETWEEN AND
在哪个时间段里的查询,跟字符串一样同样也得判断他是否会空,如果不为空的话那就执行if语句里面的代码。
SQL语句:private String ceShi= select * from employee;
String Builderbuilder = new StringBuilder(ceShi)
if (StarTime!="" && !StarTime.isEmpty() && EndTime!="" && !EndTime.isEmpty()) {
builder.append(" AND r.DengLuTime BETWEEN ‘"+StarTime+"’ AND ‘"+EndTime+"’");
}