JDBC连接oracle数据库

来源:互联网 发布:淘宝网5.0旧版本下载 编辑:程序博客网 时间:2024/04/29 17:20

DBUtil类

package com.zp.test;import java.beans.Statement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DBUtil {//定义三个变量private static Connection ct = null;private static PreparedStatement ps = null;private static ResultSet rs = null;//连接数据库的用户名,密码,url,驱动private static String username = "scott";private static String password = "123";private static String driver ="oracle.jdbc.driver.OracleDriver";private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:orclhsp";//使用静态块加载驱动(原因:加载驱动需要时间,没有必要每次连接都加载一次驱动,连接可以不停的使用,使用完后关闭)static {try {Class.forName(driver);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//完成查询方法//sql可能是:select * from emp where ename=?,parameters参数就是传过来的?值public static ResultSet executeQuery(String sql,String[] parameters) {try {//得到连接ct = DriverManager.getConnection(url,username,password);//创建ps对象<==>sql对象ps = ct.prepareStatement(sql);//根据实际情况对sql语句?赋值,如果paramenters不为空,再赋值if(parameters!=null) {for(int i=0;i<parameters.length;i++) {ps.setString(i+1, parameters[i]);//索引从1开始的}}rs = ps.executeQuery();} catch (Exception e) {e.printStackTrace();//抛出运行时异常throw new RuntimeException(e.getMessage());}finally {}return rs;}//统一的更新,删除,查找方法public static void executeUpdate(String sql,String[] parameters) {try {//得到连接ct = DriverManager.getConnection(url,username,password);//创建ps对象<==>sql对象ps = ct.prepareStatement(sql);//根据实际情况对sql语句?赋值,如果paramenters不为空,再赋值if(parameters!=null) {for(int i=0;i<parameters.length;i++) {ps.setString(i+1, parameters[i]);//索引从1开始的}}ps.executeUpdate();System.out.println("成功");} catch (Exception e) {e.printStackTrace();//抛出运行时异常throw new RuntimeException(e.getMessage());}finally {//关闭资源close(rs, ps, ct);}}public static Connection getCt() {return ct;}public static PreparedStatement getPs() {return ps;}//把关闭资源写成一个函数public  static void  close(ResultSet rs,PreparedStatement ps,Connection ct) {if(rs!=null) {try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}rs = null;//最后写上}if(ps!=null) {try {ps.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}ps = null;}if(ct!=null) {try {ct.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}ps = null;}}}
TestOracleCrud类来进行crud操作
package com.zp.test;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class TestOracleCrud {//此程序演示对oracle的curd操作public static void main(String[] args) {//调用查询方法sel();//调用查询方法(有参数)sel1();//调用增加方法//add();//调用删除方法//delete();//调用更新方法//update();}//无参数的查询方式public static void sel() {String sql = "select * from emp";ResultSet rs = DBUtil.executeQuery(sql, null);try {while(rs.next()) {System.out.println(rs.getString("ename"));}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {DBUtil.close(rs, DBUtil.getPs(), DBUtil.getCt());}}//有参数的查询方式public static void sel1() {String sql = "select * from emp where empno=?";String[] parameter = {"7369"};ResultSet rs = DBUtil.executeQuery(sql, parameter);try {while(rs.next()) {System.out.println(rs.getString("ename"));}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {DBUtil.close(rs, DBUtil.getPs(), DBUtil.getCt());}}public static void add() {String sql = "insert into emp(empno,ename)values(112,'zengpan')";DBUtil.executeUpdate(sql, null);}public static void delete() {String sql = "delete from emp where empno=112";DBUtil.executeUpdate(sql,null);}public static void update() {String sql = "update emp set ename='zhaoming' where empno=112";DBUtil.executeUpdate(sql,null);}}
根据视频敲的,希望对初步了解oracle连接数据库的朋友有帮助,不足之处在所难免,见谅
	
				
		
原创粉丝点击