Sql语句模糊查询有两种写法,一种是在jdbcTemplate的查询方法参数里拼接字符串%,一种是在Sql语句里拼接%字符串。
public class IsNameDaoImpl implements IsNameDao { JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource()); @Override public List<User> isname(String input1) { if (input1==null||input1==""){ return null; } try { /* 第一种写法 在参数里拼接 String sql="select * from user where name like ?"; List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class), input1+"%"); */ //第二种写法,在sql语句里写 /*这样写是不对的 String sql="select * from user where name like ?%"; */ //这种写法是对的 String sql="select * from user where name like ?\"%\" "; List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class), input1); return users; } catch (DataAccessException e) { System.out.println("没查到"); return null; } }