jdbc连接mysql和oracle数据库-java

时间:2021-09-09 13:05:53

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 +"\t工资:" + 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 +"\t工资:" + 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();
                }
            }
        }
    }
}