收藏 分销(赏)

jdbc连接数据库BaseDao类.doc

上传人:仙人****88 文档编号:12006638 上传时间:2025-08-26 格式:DOC 页数:5 大小:36KB 下载积分:10 金币
下载 相关 举报
jdbc连接数据库BaseDao类.doc_第1页
第1页 / 共5页
jdbc连接数据库BaseDao类.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
package com.dao.impl; import java.sql.*; import javax.servlet.jsp.jstl.sql.Result; import javax.servlet.jsp.jstl.sql.ResultSupport; public class BaseDao { private static final String DRIVER = "oracle.jdbc.driver.OracleDriver"; private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl2"; private static final String USRENAME = "zhangsan"; private static final String PASSWORD = "123"; // 仅作为返回ResultSet查询时使用 private Connection conn = null; private PreparedStatement pst = null; private ResultSet rs = null; /** * 返回连接 * * @return Connection */ private Connection getConnection() { try { Class.forName(DRIVER); conn = DriverManager.getConnection(URL, USRENAME, PASSWORD); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 返回ResultSet,需每次实例化一个BaseDao,然后调用CloseALL方法关闭对象 * * @param sql * 预编译的 SQL 语句 * @param param * 预编译的 SQL 语句中的‘?’参数的字符串数组 * */ public ResultSet executeQuerySQL(String sql, Object... param) { try { conn = getConnection(); // 得到数据库连接 pst = conn.prepareStatement(sql); // 得到PreparedStatement对象 if (param != null) { for (int i = 0; i < param.length; i++) { pst.setObject(i + 1, param[i]); // 为预编译sql设置参数 } } rs = pst.executeQuery(); // 执行SQL语句 } catch (Exception e) { e.printStackTrace(); // 处理ClassNotFoundException异常 } return rs; } /** * 添,删,改 * * @param sql * @param param * @return */ public int executeUpdate(String sql, Object... param) { conn = getConnection(); int row = 0; try { pst = conn.prepareStatement(sql); if (param != null) { for (int i = 0; i < param.length; i++) { pst.setObject(i + 1, param[i]); } } row = pst.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { closeALL(null, pst, conn); } return row; } /** * 返回Result * * @param sql * @param param * @return */ public Result executeQuery(String sql, Object... param) { Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; Result rst = null; try { conn = getConnection(); // 得到数据库连接 pst = conn.prepareStatement(sql); // 得到PreparedStatement对象 if (param != null) { for (int i = 0; i < param.length; i++) { pst.setObject(i + 1, param[i]); // 为预编译sql设置参数 } } rs = pst.executeQuery(); // 执行SQL语句 rst = ResultSupport.toResult(rs); // 关闭连接对象 rs.close(); pst.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); // 处理ClassNotFoundException异常 } return rst; } /** * 查询单个值,如count,sum,max,avg等 * * @param sql * @param param * @return */ public Object executeScalar(String sql, Object... param) { Connection conn = getConnection(); PreparedStatement pst = null; ResultSet rs = null; Object obj = null; try { pst = conn.prepareStatement(sql); if (param != null) { for (int i = 0; i < param.length; i++) { pst.setObject(i + 1, param[i]); } } rs = pst.executeQuery(); obj = rs.getObject(1); } catch (SQLException e) { e.printStackTrace(); } finally { closeALL(null, pst, conn); } return obj; } // 关闭ResultSet查询时的对象 public void closeALL() { try { if (rs != null) rs.close(); if (pst != null) pst.close(); if (conn != null) conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 关闭连接 * * @param conn * Connection */ public void closeALL(ResultSet rs, Statement pst, Connection conn) { try { if (rs != null) { rs.close(); } if (pst != null) { pst.close(); } if (conn != null && (!conn.isClosed())) { conn.close(); } } catch (SQLException sqlEx) { sqlEx.printStackTrace(); } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服