欢迎光临
我们一直在努力

Java数据库学习之模糊查询(like)

第一种方式:直接在SQL语句中进行拼接,此时需要注意的是parm在SQL语句中需要用单引号拼接起来,注意前后单引号之间不能空格

String sql = "select * from tb_user where uname like '%" + parm + "%'";

第二种方式: 使用占位符,在占位符赋值时进⾏拼接

String sql = "select * from tb_user where uname like ?";
ps.setString(1, "%"+parm+"%");

DEMO


/**
*
*Java数据库学习之模糊查询like
*需要注意SQL语句中占位符需⽤字符串拼接赋值
*其中%匹配0~n个任何字母。
*/
@Override
public List<User> fuzzyquery (String parm){
//  1、准备SQL语句
//  第⼀种⽅式:直接在SQL语句中进⾏拼接,此时需要注意的是parm在SQL语句中需要⽤单引号拼接起来,注意前后单引号之间不能空格
//  String sql = "select * from tb_user where uname like '%" + parm + "%'";
//  第⼆种⽅式: 使⽤占位符,在占位符赋值时进⾏拼接
String sql = "select * from tb_user where uname like ?";
//  2、创建数据库连接对象
conn = DBUtil.getconn();
//  由于结果集返回的是user类。所以使⽤list<User>来接受返回的数据
User user = null;
List<User> list = new ArrayList<>();
try {
//  3、预编译语句,如果有占位符则对占位符赋值。
    PreparedStatement ps = conn.prepareStatement(sql);
//   占位符赋值时进⾏拼接
    ps.setString(1, "%" + parm + "%");
//  4、执⾏语句,并返回查询的结果集
    ResultSet rs = ps.executeQuery();
    while (rs.next()) {
        user = new User(rs.getString("pass"), rs.getInt("uage"), rs.getString("uname"),
                rs.getString("birthday"), rs.getBigDecimal("sal"), null);
        list.add(user);
    }
} catch (SQLException e) {
    e.printStackTrace();
}
return list;
}
赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » Java数据库学习之模糊查询(like)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址