• java-JDBC-Oracle数据库连接


    java-JDBC连接oracle数据库,StateMent和PreparedStatement对比(查询query)


    1、 PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象。

    2、作为 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能。三种方法 execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数

    3、在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替 Statement.也就是说,在任何时候都不要使用Statement.
     
     
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    public class JavaJdbc extends JFrame {
        Connection connection=null;//驱动连接接口
        Statement statement=null;//得到接口实现对象
        ResultSet rs=null;//结果集接口
        ResultSetMetaData rsmd=null;
        public JavaJdbc(){
            try{
                Class.forName("oracle.jdbc.driver.OracleDriver"); //加载驱动
                String dbUrl="jdbc:oracle:thin:@localhost:1521:orcl"; //连接oracle数据库
                String username="admin"; //数据库的登录帐号和密码
                String password="admin";
                connection=DriverManager.getConnection(dbUrl,username,password);
                statement=connection.createStatement();
                rs=statement.executeQuery("select * from student");//sql查询语句
                rsmd=rs.getMetaData();
                int length=rsmd.getColumnCount();
                for(int i=1;i<=length;i++)
                    System.out.print(rsmd.getColumnName(i)+" ");
                System.out.println();
                while(rs.next()){
                    for(int i=1;i<=length;i++)
                        System.out.print(rs.getString(i)+" ");
                    System.out.println();
                }
                
            }catch(ClassNotFoundException e){
                //System.out.println("数据库驱动加载失败..."+e.getStackTrace());
                e.printStackTrace();
            }catch(SQLException e){
                System.out.println("数据库连接失败..."+e.getStackTrace());
            }finally{
                try{
                    if(rs!=null){
                        rs.close();
                    }
                    if(connection!=null){
                        connection.close();
                    }
                }catch(SQLException e){
                    e.getStackTrace();
                }
            }
        }
        public static void main(String args[]){
            new JavaJdbc();
        }
    }

     preparedStatement

    import java.awt.Color;
    import java.awt.Container;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    public class JavaJdbc extends JFrame {
        Connection connection=null;//驱动连接接口
        PreparedStatement preparedstatement=null;//得到接口实现对象
        ResultSet rs=null;//结果集接口
        ResultSetMetaData rsmd=null;
        public JavaJdbc(){
            try{
                Class.forName("oracle.jdbc.driver.OracleDriver"); //加载驱动
                String dbUrl="jdbc:oracle:thin:@localhost:1521:orcl"; //连接oracle数据库
                String username="admin"; //数据库的登录帐号和密码
                String password="admin";
                connection=DriverManager.getConnection(dbUrl,username,password);
                String sql="select * from student";
                //创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
                preparedstatement=connection.prepareStatement(sql);
                rs=preparedstatement.executeQuery();//获得结果集
                rsmd=rs.getMetaData();
                int length=rsmd.getColumnCount();
                for(int i=1;i<=length;i++)
                    System.out.print(rsmd.getColumnName(i)+" ");
                System.out.println();
                while(rs.next()){
                    for(int i=1;i<=length;i++)
                        System.out.print(rs.getString(i)+" ");
                    System.out.println();
                }
                
            }catch(ClassNotFoundException e){
                //System.out.println("数据库驱动加载失败..."+e.getStackTrace());
                e.printStackTrace();
            }catch(SQLException e){
                System.out.println("数据库连接失败..."+e.getStackTrace());
            }finally{
                try{
                    if(rs!=null){
                        rs.close();
                    }
                    if(connection!=null){
                        connection.close();
                    }
                }catch(SQLException e){
                    e.getStackTrace();
                }
            }
        }
        public static void main(String args[]){
            new JavaJdbc();
        }
    }
  • 相关阅读:
    Fix RICHTX32.OCX Issue on Windows 7
    Solved: c:\windows\system32\config\systemprofile\desktop
    递归的现实应用
    Win 8 app 获取窗口的宽度和高度, 本地化, 及文本读取
    均匀设计U Star 665
    GridView.ScrollIntoView() doesn't work
    XML节点访问与更新
    Keyboard supports in Software Testing
    WordPress程序备受喜爱的原因:十八般武艺
    paypal注册教程(PP注册教程)paypal使用方法
  • 原文地址:https://www.cnblogs.com/mypsq/p/4852928.html
Copyright © 2020-2023  润新知