Sql语句模糊查询字符串的两种写法

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;
        }
    }
原文地址:https://www.cnblogs.com/HezhenbinGoGo/p/14188206.html