首页 > 代码库 > JAVA使用JDBC连接MySQL数据库 二(2)

JAVA使用JDBC连接MySQL数据库 二(2)

  本文是对 《JAVA使用JDBC连接MySQL数据库 二》的改进。

  上节使用的是PreparedStatement来执行数据库语句,但是preparedStatement需要传递一个sql语句参数,才能创建。然而,DBHelper类只是起到打开和关闭数据库的作用,所以sql语句是要放到应用层部分的,而不是放到DBHelper类中。

  而statment不需要传递一个sql语句参数,就能创建。

  修改部分如下:

public class DBHelper {

    String driver = "com.mysql.jdbc.Driver";
    String url= "jdbc:mysql://localhost:3306/test";
    String user = "root";
    String password = "123456";
    
    public Connection conn;
    //public PreparedStatement pst;
    public Statement statement;
    
    public DBHelper(){
        try {
            // 加载驱动程序
            Class.forName(driver);
            // 连续数据库
            conn = (Connection) DriverManager.getConnection(url, user, password);
            if(!conn.isClosed()){
                System.out.println("Succeeded connecting to the Database!");
            }   
            //pst = (PreparedStatement) conn.prepareStatement(sql);//使用prepareStatement来执行SQL语句
            statement = (Statement) conn.createStatement();//使用statement来执行SQL语句
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public void close() {
        try {
            this.conn.close();
            //this.pst.close();
            this.statement.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

public class JDBCTest {

    public static void main(String[] args){
        String sql = "select * from employee";//SQL语句
        try{
            //DBHelper db = new DBHelper(sql);//创建DBHelper对象  
            //ResultSet rs = (ResultSet) db.pst.executeQuery();// 返回结果集
            DBHelper db = new DBHelper();//创建DBHelper对象  
            ResultSet rs = (ResultSet) db.statement.executeQuery(sql);// 返回结果集
            
            System.out.println("-----------------");
            System.out.println("姓名" +"\t"+ "邮箱" +"\t"+ "日期");
            System.out.println("-----------------");
            
            while(rs.next()) {
                //获取结果集中的数据
                String uname = rs.getString("name");
                String uemail = rs.getString("email");
                String uhiredate = rs.getString("hiredate");
                // 输出结果
                System.out.println(uname +"\t"+ uemail +"\t"+ uhiredate);
            }
            rs.close();
            db.close();//关闭连接 
        }catch(SQLException e) {
            e.printStackTrace();
        }
    }
}

 

JAVA使用JDBC连接MySQL数据库 二(2)