封装用JavaBean封装,但是涉及到数据库的时候,也是拼出来的~
使用JDBC预编译语句的话,也是把javaBean里面的值取出来,一个一个赋值到where后面的。
参数转Map,BeanUtils获取数据库表结构产生DynaBean,BeanUtils将Map的值映射到DynaBean。自动构建preparestatement,剩下的,不用说了
这些肯定都是and
然后select from xxx where 1=1
后面写循环判断参数是否为空或者任何,来决定拼接and xxx =xxx
二维数组
多个条件进行筛选查询的时候,怎么设计比较好?
JDBC查询动态封装
java web中的多条件查询
二维数组
1Dao里面select函数有多个重载,每个重载有不同的select条件
2Map
一般多个条件的时候,处理方式是 select from table where 1 = 1先写上这样一个条件,这样你以后的条件就可以直接用 if判断了,比如现在有A ,B 两个条件 就可以直接这样
String sql = “select * from table where 1 = 1”;
if( 条件A != null ){
sql += " and A =" + 条件A;
}
if( 条件B != null ){
sql += " and B =" + 条件B;
}
这样就可以避免多种情况存在的问题
mysql内部对于日期的书写(Date类型)比较随意,所以在平时写sql的时候要注意尽量规范。
使用了“’’”把日期当做一个整体的字符来转换时可以转换正确,不加则可能转换出错返回错误结果。
select * from opslog WHERE DATE = ‘2016-11-16’;
null只是对对象有用.基本类型没有null