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执行模糊查询的主要内容,如果未能解决你的问题,请参考以下文章

dljd_(008-010)_简单的查询

dljd_(021-025)_事务及_CRUD

dljd_(007_008)_jdbc执行DQL/DML/DDL语句

dljd_ (004-006)_hibernate框架

dljd_(008-010)hibernate_第一个程序

dljd_(057-058)_hibernate_关联关系映射-什么是关联关系