Java连接Oracle—数据访问层—增删改查
2019-04-09 19:56
99 查看
分层模式是一种常见的架构模式,今天我就分享一下,最底层的数据访问层,访问Oracle数据库并进行增删改查的代码!
要实现访问Oracle数据库,需要加载一个ojdbc.jar包,下载这个jar包后,将其放入项目的目录里,然后build path就行了。
下面就直接分享代码了!
import java.sql.*; import java.util.List; public abstract class BaseDao { private final static String DBDriver="oracle.jdbc.OracleDriver"; **//驱动路径,就是刚导入的jar包** private final static String DBURL="jdbc:oracle:thin:@localhost:1521:orcl"; **//@前面的照写,后面的localhost代表本地服务器,1521为Oracle数据库的端口号,orcl是数据库安装时设置的数据库名.** private final static String DBUser="root"; //数据库名称 private final static String DBPasswd="123456"; //密码 public static Connection conn = null; public ResultSet rs = null; public PreparedStatement pst; /////////////////////////////////////////////////加载驱动、创建链接 public static Connection getConnection(){ try { Class.forName(DBDriver); conn = DriverManager.getConnection(DBURL,DBUser,DBPasswd); } catch (Exception e) { e.printStackTrace(); } if(conn == null) { System.out.print("Line:27 数据库连接失败!"); } return conn; } /////////////////////////////////////////////////查询 public ResultSet doQuery(String sql) { return doQuery(sql , new Object[]{}); } public ResultSet doQuery(String sql , Object[] param){ //sql需要编写后传入,sql可以带参数,带参的地方用?代替,第二个参数是需要传入的参数数组 conn = BaseDao.getConnection(); try { pst = conn.prepareStatement(sql); } catch (SQLException e) { e.printStackTrace(); } for(int i=0 ; i<param.length ; i++) { try { pst.setObject(i+1, param[i]); } catch (SQLException e) { e.printStackTrace(); } } try { rs = pst.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return rs; } ////////////////////////////////////////////////////更新 public int doUpdate(String sql){ return doUpdate(sql , new Object[]{}); } public int doUpdate(String sql , Object[] param){ //sql需要编写后传入,sql可以带参数,带参的地方用?代替,第二个参数是需要传入的参数数组 int result = 0; conn = BaseDao.getConnection(); try { pst = conn.prepareStatement(sql); } catch (SQLException e1) { e1.printStackTrace(); } for(int i=0 ; i<param.length ; i++) { try { pst.setObject(i+1, param[i]); } catch (SQLException e) { e.printStackTrace(); } } try { result = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } return result; } ////////////////////////////////////////////////插入 public int doInsert(String sql) { return doUpdate(sql); } public int doInsert(String sql , Object[] param) { return doUpdate(sql , param); } //////////////////////////////////////////////删除 public int doDelete(String sql) { return doUpdate(sql); } public int doDelete(String sql , Object[] param) //sql需要编写后传入,sql可以带参数,带参的地方用?代替,第二个参数是需要传入的参数数组 { return doUpdate(sql , param); } //////////////////////////////////////////////关闭连接 public void closeConnection(){ if(rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(pst!=null) { try { pst.close(); } catch (SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } //////////////////////////////////////////////对结果集进行处理 public abstract <T> List<T> resultSetToList(ResultSet ret); }
这里查询、修改、更新、删除都重写了两个方法,一个带参的,一个不带参,增加了代码的灵活性,不过也使代码臃肿了,你们可以自行简化。需要注意的是,查询返回的是ResutSet结果集,其他三个操作都基于更新,返回的是int类型影响的行数,在业务逻辑层应用相对应的变量接收返回值!
相关文章推荐
- java 连接oracle 进行增删改查
- java通过jdbc连接Oracle通过数据库连接池实现增删改查
- java连接Oracle并实用存储过程实现增删改查(CRUD)
- 通用java jdbc连接Oracle执行增删改查
- java应用连接oracle 11g R2 rac (用scanip连接报错)
- JAVA连接ACCESS,SQL Server,Mysql ,Oracle
- java中连接oracle
- 加载web-inf下的xml文件,java连接oracle的几种情况,telnet,tnsping,sqlplus的一点学习
- java与oracle的连接
- java连接mysql数据库增删改查操作记录
- mysql数据库的连接以及增删改查Java代码实现(PreparedStatement版)
- java连接sqlserver,mysql,oracle
- java连接到oracle时,用localhost能连上,用ip连不上
- java连接mysql实现增删改查代码
- oracle 数据库的管理工具 PL/SQL_Developer 的简易使用 与Java 连接并查询显示出数据
- JAVA连接ORACLE的基本步骤,写在这里做备忘 (参考了http://student.csdn.net/space.php?uid=412909&do=blog&id=33102)
- Java通过JDBC连接Oracle之后查询结果和在sqlplus查询结果不一样
- java oracle thin 和 oci 连接方式实现多数据库的故障切换
- Java连接Oracle异常The Network Adapter could not establish the connection
- Java版Oracle客户端简易连接程序