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(); } } } } }