PreparedStatement的使用

2017-03-23

package com.java;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test_preSt {

    private final static String DRIVER = "oracle.jdbc.driver.OracleDriver"; // 定义驱动字符串
    private final static String URL = "jdbc:oracle:thin:@localhost:1521:ORCL";// 定义url路径
    private final static String USERNAME = "scott"; // 数据库名称,根据自己情况修改
    private final static String PASSWORD = "qaz"; // 数据库密码,根据自己情况修改
    public static Connection conn = null; // 定义连接数据库对象
    private static Statement st = null;
    private static ResultSet rs = null;
    private static PreparedStatement ps = null;

    // 获取数据库连接
    public static Connection getConnection(){
        try {
            // 1.注册驱动
            Class.forName(DRIVER);
            // 2.获取数据库连接
            conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }  catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    public static ResultSet executeQuery(String sql){
        // 3.创建表达式对象,获取数据库连接
        conn = getConnection();
        try {
            //3.创建一个会话
        //    st = conn.createStatement();
            ps = conn.prepareStatement(sql);
            // 执行sql语句,增删改查,并且得到结果集
            rs = ps.executeQuery();
            //如果有while(rs.next){}的话是对结果集的处理
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }
    public static void main(String[] args) throws SQLException {
        
        getConnection();
        String m = "select * from users where id = ?";//?指代可修改内容,模板
        ps = conn.prepareStatement(m);//预处理
        ps.setInt(1,42);    //修改变量    
        rs = ps.executeQuery();//执行
        if(rs.next()){
            System.out.println(rs.getString("id")+"  "
                    +rs.getString("username")+"  "+rs.getString("password"));
            
        }
        
        
    }
}

posted @ 2017-03-23 10:54  l_青铜_l  阅读(223)  评论(0编辑  收藏  举报