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

本文介绍Java中使用数据库进行模糊查询的方法,包括直接SQL拼接及使用占位符两种方式,并给出具体实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  

  

转载于:https://www.cnblogs.com/klory/p/10621929.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值