1. 程式人生 > 資料庫 >Sql語句模糊查詢字串的兩種寫法

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;
        }
    }