"SELECT * FROM TABLE WHERE 1=1 ? ? ? "
ps.set(1,"AND NAME='张三'") ;
ps.set(2,"") ;
ps.set(3,"") ;
ps.set(1,"AND NAME='张三'") ;
ps.set(2,"") ;
ps.set(3,"") ;
解决方案 »
- ssh事务不回滚 ????????????????????
- getOutputStream() has already been called for this response,大家来找茬
- 有关tomcat速度突然变慢的问题
- 空指针 super.getHibernateTemplate().get(Users.class, id)
- spring里的JdbcTemplate有没有缓存啊?
- https 跟 http 转换
- Hibernate 原生sql 关联查询问题!
- **招聘**沈阳j2ee,oracle
- 请问哪里有weblogic server7.0或者8下载啊?
- java大牛都会啥
- tomcat不做服务在exceplise下运行正常。 tomcat做成windows服务后,无法连接数据库,请问这是怎么回事?
- 请教关于apache mina里面日志打印的问题
ps.setNull(2,java.sql.Type.Integer);
ps.setNull(2, Types.NUMERIC);
preparedStatement语句为:SELECT * FROM TABLE WHERE ID = ?
这里的ID值是通过用户输入的,如果输入了ID就根据ID的值来检索;如果ID未输入则进行全部检索。即是说,当我想进行全部检索的时候,希望通过preparedStatement设置一个值使它能达到“SELECT * FROM TABLE”这样的一个效果。
如果置空,ps.setString(1,null),则语句就变成了 “SELECT * FROM TABLE WHERE ID = null”,这样查询是查不到东西的啊。
SELECT * FROM TABLE WHERE ID like ?||'%' AND CLASS like ?||'%' AND NAME like ?||'%'
即使传空值,也可以做全部检索了。
还是要感谢大家的热心,结贴啦。
String sql="SELECT * FROM TABLE WHERE ID like ? AND CLASS like ? AND NAME like ?"pstm.setString(1,"%");
pstm.setString(2,"%");
pstm.setString(3,"%");确实用like就可以了,多谢启发