jdbc prepareStatemnt statement 再回首

package com.test;

import java.sql.Array;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class TestDemo{
    private static String url ="jdbc:mysql://localhost:3306/act";
    private static String user = "root";
    private static String pwd ="123456";
    private static Connection conn = null;
    private static PreparedStatement psmt = null;
    private static Statement stmt = null;
    private static ResultSet rs = null;
    static {
        try {
            //获取数据库连接
            Class.forName("com.mysql.jdbc.Driver");
            conn = (Connection) DriverManager.getConnection(url, user, pwd);
        }catch(SQLException e){
            e.printStackTrace();
        }catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    public static void main(String [] args) throws ClassNotFoundException, SQLException {
        String sql="select  t1.TerminalId,t1.ReceiveTime,t2.location from terminalstatus  t1, terminalmsg  t2 where t1.TerminalId = t2.TerminalId and t1.TerminalId in (";
        String sql2 =")";
        int  [] datas =  new int [] {1,2,3};
        StringBuffer sb = new StringBuffer(sql);
        for(int i=0;i<datas.length;i++) {
            sb.append("?");
            if(i<datas.length-1) {
                sb.append(",");
            }
        }
        sb = new StringBuffer("");
        for(int i=0;i<datas.length;i++) {
            sb.append(datas[i]);
            if(i<datas.length-1) {
                sb.append(",");
            }
        }
        String sql3 = "select  t1.TerminalId,t1.ReceiveTime,t2.location from terminalstatus  t1, terminalmsg  t2 where t1.TerminalId = t2.TerminalId and t1.TerminalId in ("+ sb.toString()+")";
        sql = sb.toString() + sql2;
        System.out.println(sql);
        try {
            psmt = (PreparedStatement) conn.prepareStatement(sql);
            stmt = (Statement) conn.createStatement();
            /*for(int i=0;i<datas.length;i++) {
                psmt.setInt(i+1,datas[i]);
            }*/
            /*ResultSet rs = psmt.executeQuery();
            System.out.println(rs.getRow());
            while(rs.next()) {
                System.out.print(rs.getObject(1)+"\t");
                System.out.print(rs.getObject(2)+"\t");
                System.out.println(rs.getObject(3));
            }*/
            rs = stmt.executeQuery(sql3);
            while(rs.next()) {
                System.out.print(rs.getObject(1)+"\t");
                System.out.print(rs.getObject(2)+"\t");
                System.out.println(rs.getObject(3));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            if(rs!=null) {
                rs.close();
            }
            if(stmt!=null) {
                stmt.close();
            }
            if(psmt!=null) {
                psmt.close();
            }
            if(conn!=null) {
                conn.close();
            }
        }
    }   
}

猜你喜欢

转载自blog.csdn.net/x17809211858/article/details/85730926