zoukankan      html  css  js  c++  java
  • jdbc连接mysql和oracle数据库-java

    1、jdbc连接mysql数据库

    连接数据库,把emp表中的,ename,sal取出来,打印到控制台。

    步骤:

    1、注册驱动

    2、获取连接

    3、获取数据库操作对象

    4、执行数据库语句

    5、如果是查询就处理结果集

    以下代码是连接mysql

    import java.sql.DriverManager;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class JDBC_Mysql
    {
        public static void main(String []args){
            //假设sal是从界面上获得的数据
            double sal = 1500;
    
            Connection conn = null;
            Statement st = null;
            ResultSet rs = null;
            //1:注册驱动
            try{
                /*
                java.sql.Driver driver = new com.mysql.jdbc.Driver();
                DriverManager.deregisterDriver(driver);
                */
                Class.forName("com.mysql.jdbc.Driver");
                //2:获取连接
                String url = "jdbc:mysql://127.0.0.1:3306/test";
                String uname = "root";
                String pwd = "root";
                conn = DriverManager.getConnection(url,uname,pwd);
                //3:获取数据库操作对象
                st = conn.createStatement();
                //4:执行数据库语句
                rs = st.executeQuery("select ename,sal from emp where sal > "+sal);
                //5:如果是查询就处理结果集
                while(rs.next()){
                    
                    /*
                    所有的数据类型都可以使用getString获得值
                    String name = rs.getString("ename");
                    String salary = rs.getString("sal");
    
                    可读性差,扩展力差。
                    String name = rs.getString(1);
                    double salary = rs.getDouble(2);
                    */
                    String name = rs.getString("ename");
                    double salary = rs.getDouble("sal");
    
                    System.out.println("姓名:"+ name +"	工资:" + salary);
                }
    
    
            }catch(Exception e){
                e.printStackTrace();
            }finally{
            
                //6:释放资源 ,从小到大依次关闭
                if(rs != null){
                    try{
                        rs.close();
                    }catch(SQLException sqle){
                        sqle.printStackTrace();
                    }
                }
                if(st != null){
                    try{
                        st.close();
                    }catch(SQLException sqle){
                        sqle.printStackTrace();
                    }
                }
                if(conn != null){
                    try{
                        conn.close();
                    }catch(SQLException sqle){
                        sqle.printStackTrace();
                    }
                }
            }
                
        }
    }

    2、jdbc连接oracle数据库

    原理同连接mysql一样,只不过要把url链接地址改改,以及预处理sql的方式,对比代码一目了然。

    package javasimple;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    public class Jdbc_Oracle {
        public static void main(String []args){
            //假设sal是从界面上获得的数据
            double sal = 1500;
            Connection conn = null;
            PreparedStatement  st = null;
            ResultSet rs = null;
            //1:注册驱动
            try{
                Class.forName("oracle.jdbc.driver.OracleDriver");
                //2:获取连接
                String url = "jdbc:oracle:thin:@//127.0.0.1:1521/orcl";
                String uname = "root";
                String pwd = "root";
                conn = DriverManager.getConnection(url,uname,pwd);
                //3:获取数据库操作对象
                String sql = "select ename,sal from emp where sal > "+sal;
                st = conn.prepareStatement(sql);
                //4:执行数据库语句
                rs = st.executeQuery();    
                //5:如果是查询就处理结果集
                while(rs.next()){
                    String name = rs.getString("ename");
                    double salary = rs.getDouble("sal");
                    System.out.println("姓名:"+ name +"	工资:" + salary);
                }
            }catch(Exception e){
                e.printStackTrace();
            }finally{
            
                //6:释放资源 ,从小到大依次关闭
                if(rs != null){
                    try{
                        rs.close();
                    }catch(SQLException sqle){
                        sqle.printStackTrace();
                    }
                }
                if(st != null){
                    try{
                        st.close();
                    }catch(SQLException sqle){
                        sqle.printStackTrace();
                    }
                }
                if(conn != null){
                    try{
                        conn.close();
                    }catch(SQLException sqle){
                        sqle.printStackTrace();
                    }
                }
            }
        }
    }

     

  • 相关阅读:
    通用数据权限的思考与设计
    MyBatis传入参数为list、数组、map写法
    MyBatis的foreach查询(List、Array、Map)
    heX——基于 HTML5 和 Node.JS 开发桌面应用
    优秀设计:12个带给你灵感的创意单页网站作品
    So Easy!让开发人员更轻松的工具和资源
    触摸手势图标大全:48款触摸手势图标免费下载
    放松的周末,一起欣赏15个华丽的艺术品
    Skytte:一款令人印象深刻的 HTML5 射击游戏
    分享本年度最佳的15个 Photoshop 实例教程
  • 原文地址:https://www.cnblogs.com/hkdpp/p/8418589.html
Copyright © 2011-2022 走看看