dljd_017_使用PreparedStatement执行模糊查询
Posted aeon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dljd_017_使用PreparedStatement执行模糊查询相关的知识,希望对你有一定的参考价值。
一、jdbc模糊查询(查询名字中带a的用户)
package edu.aeon.jdbc.crud; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import edu.aeon.aeonutils.AeonJdbcUtils; /** * [说明]:使用jdbc进行数据操作 * @author aeon */ public class JDBC_insert { /** * 使用jdbc进行增加操作(DML) */ public static void jdbc_insert(){ Connection connection=null; PreparedStatement preparedStatement = null; try { connection = AeonJdbcUtils.getmysqlConnection(); String sql="insert into user(userid,username,userpw) values (?,?,?)"; //将sql语句进行预编译然后保存到preparedStatement对象中 preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1, 10006); preparedStatement.setString(2, "aeon"); preparedStatement.setString(3, "aeon"); int rowCount = preparedStatement.executeUpdate(); System.out.println(rowCount+"条数据被插入!"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally { AeonJdbcUtils.closeDB(null, preparedStatement, connection); } } /** * 查询操作(DQL) * @param args */ public static void jdbc_select(){ Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { connection=AeonJdbcUtils.getMySqlConnection(); String sql="select userid,username,userpw from user where userid > ?"; preparedStatement=connection.prepareStatement(sql); preparedStatement.setInt(1, 10002); resultSet = preparedStatement.executeQuery(); System.out.println("用户id 用户名 用户密码"); while(resultSet.next()){ int userid=resultSet.getInt("userid"); String username=resultSet.getString("username"); String userpw=resultSet.getString("userpw"); System.out.println(userid+" "+username+" "+userpw); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally{ AeonJdbcUtils.closeDB(resultSet, preparedStatement, connection); } } /** * 模糊查询 查询名字中带a的用户 * %a%:名字中包含a的 * a%:以a开头的 * _a%:名字第二个有a的 * @param args */ public static void jdbc_selectLike(){ Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { connection=AeonJdbcUtils.getMySqlConnection(); String sql="select userid,username,userpw from user where username like ?"; preparedStatement=connection.prepareStatement(sql); //查询名字中带a的用户 preparedStatement.setString(1, "%a%"); resultSet = preparedStatement.executeQuery(); System.out.println("用户id 用户名 用户密码"); while(resultSet.next()){ int userid=resultSet.getInt("userid"); String username=resultSet.getString("username"); String userpw=resultSet.getString("userpw"); System.out.println(userid+" "+username+" "+userpw); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally{ AeonJdbcUtils.closeDB(resultSet, preparedStatement, connection); } } public static void main(String[] args) { //jdbc_insert(); //jdbc_select(); jdbc_selectLike(); } }
数据库截图:
执行结果截图:
以上是关于dljd_017_使用PreparedStatement执行模糊查询的主要内容,如果未能解决你的问题,请参考以下文章