zoukankan      html  css  js  c++  java
  • 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;
    	}
    

      

      

  • 相关阅读:
    资料工作手册
    这么点破玩艺,昨天我为了学会它,花了六小时
    压力太大,使人过早衰老
    这是真的么。
    我可怜的好友。。。
    操了,上个网怎么就这么憋屈呢
    编程习惯,代码风格,其实很重要
    其实,我并不喜欢脚本语言
    咱也起一卦,看看北京是否还会继续下雨
    我一点不偏激,只是,我从不抱有侥幸思想
  • 原文地址:https://www.cnblogs.com/klory/p/10621929.html
Copyright © 2011-2022 走看看