1. 程式人生 > >Java中實現對錶中多個欄位的模糊查詢(Oracle)

Java中實現對錶中多個欄位的模糊查詢(Oracle)

	public UserVO fuzzyQuery(String keyword) {
		UserVO user=null;
		ResultSet rs = null;
		PreparedStatement prep = null;
		try {
			String sql="select * from users where status=1 and (username like '%'||'"+keyword+"'||'%' or passwd like '%'||'"+keyword+"'||'%' or power like '%'||'"+keyword+"'||'%' or name like '%'||'"+keyword+"'||'%' or sex like '%'||'"+keyword+"'||'%' or birthday like '%'||'"+keyword+"'||'%' or email like '%'||'"+keyword+"'||'%')";
			prep=conn.prepareStatement(sql);
			rs=prep.executeQuery();
			while(rs.next()) {
				user = new UserVO();
				user.setUsername(rs.getString("username"));
				user.setPasswd(rs.getString("passwd"));
				user.setPower(rs.getInt("power"));
				user.setName(rs.getString("name"));
				user.setSex(rs.getString("sex"));
				user.setBirthday(rs.getDate("birthday"));
				user.setEmail(rs.getString("email"));
				user.setStatus(rs.getInt("status"));
				System.out.println(user.getUsername()+" "
				+Md5Utils.md5Jdk(user.getPasswd())+" "  /**md5Jdk(String passwd)為封裝在Md5Utils中的MD5加密演算法實現,自定義*/
				+user.getPower()+" "
				+user.getName()+" "
				+user.getSex()+" "
				+user.getBirthday()+" "
				+user.getEmail()+" "
				+user.getStatus()
				);
				
			}
			
		}catch (Exception e) {
			System.out.println("模糊查詢---daoimpl 出錯"+e.getMessage());
			e.printStackTrace();
		
		}
		return user;
		
	}