Java數據庫學習之模糊查詢(like )


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

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM