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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM