zoukankan      html  css  js  c++  java
  • JAVA使用JDBC连接MySQL数据库 二

    JAVA连接MySQL稍微繁琐,所以先写一个类用来打开或关闭数据库:

    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 DBHelper(){
            try {
                // 加载驱动程序
                Class.forName(driver);
                // 连续数据库
                conn = (Connection) DriverManager.getConnection(url, user, password);
                if(!conn.isClosed())
                    System.out.println("Succeeded connecting to the Database!");  
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        public void close() {
            try {
                this.conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    再写一个JDBCTest.java来执行相关查询操作

    public class JDBCTest {
    
        public static void main(String[] args){
            String sql = "select * from employee";//SQL语句
            DBHelper db = new DBHelper();//创建DBHelper对象  
            try{   
                PreparedStatement preStmt = (PreparedStatement) db.conn.prepareStatement(sql);//使用prepareStatement来执行SQL语句
                ResultSet rs= (ResultSet) preStmt.executeQuery();//返回结果集
                //Statement stmt = (Statement) db.conn.createStatement();//使用statement来执行SQL语句
                //ResultSet rs = (ResultSet) stmt.executeQuery(sql);// 返回结果集
                
                System.out.println("-----------------");
                System.out.println("姓名" +"	"+ "邮箱" +"	"+ "日期");
                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 +"	"+ uemail +"	"+ uhiredate);
                }
                rs.close();
                db.close();//关闭连接 
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }
    }

    在查询方面,PrepareStatement和Statement是没有什么区别的。不过PrepareStatement比Statement更高级些。

    PrepareStatement是先把sql语句送给系统,接着写入数据,再执行sql语句。

    Statement不能动态写入数据,只能执行固定的sql语句。

    所以,PrepareStatement用于增加,删除,修改操作。Statement用于查询操作,不过PrepareStatement也可以进行查询(可能Statement功能越简单,程序效率越高吧,所以没弃用)。

  • 相关阅读:
    React开发小问题记录
    React 生命周期
    CSS 函数
    React props
    React State 状态
    React 组件 复合组件
    React JSX语法
    js动态创建标签,并设置样式。
    jq 二级筛选切换
    从算法看背包问题(1)
  • 原文地址:https://www.cnblogs.com/liushao/p/6380723.html
Copyright © 2011-2022 走看看