博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中Dao模式中Dao的数据库操作(BaseDao的写法)
阅读量:6035 次
发布时间:2019-06-20

本文共 3160 字,大约阅读时间需要 10 分钟。

Dao模式是Java面向设计时的一种模式。而Dao中的BaseDao无非是对数据进行CURD(增删改查),下面是最常用的连接,增删改查的方法。 

1 package dao;  2   3 import java.sql.*;  4   5 /**  6  * 数据库访问类  7  */  8 public class BaseDao {  9     //数据库驱动 10     private static String driver = "com.mysql.jdbc.Driver"; 11     //数据库连接地址 12     private static String url = "jdbc:mysql://127.0.0.1:3306/flight?useSSL=False"; 13     //数据库用户名 14     private static String user = "root"; 15     //数据库密码 16     private static String password = "123456"; 17  18     //数据库连接 19     protected Connection conn = null; 20     //statement对象 21     protected PreparedStatement pstmt = null; 22  23     /** 24      * 连接数据库 25      * 26      * @return 数据库连接 27      * @throws ClassNotFoundException 未找到驱动类异常 28      * @throws SQLException           数据库异常 29      */ 30     protected Connection getConn() throws ClassNotFoundException, SQLException { 31         //加载驱动 32         Class.forName(driver); 33         //获取连接 34         conn = DriverManager.getConnection(url, user, password); 35         return conn; 36     } 37  38     /** 39      * 数据库查询方法 40      * 41      * @param sql    预编译sql语句 42      * @param params 预编译参数 43      * @return 查询结果集 44      * @throws SQLException 数据库异常 45      */ 46     protected ResultSet executeQuerySQL(String sql, Object[] params) throws SQLException { 47         ResultSet rs = null; 48         try { 49             conn = getConn(); 50         } catch (ClassNotFoundException e) { 51             e.printStackTrace(); 52         } 53         pstmt = conn.prepareStatement(sql); 54         if (params != null) { 55             for (int i = 0; i < params.length; i++) { 56                 pstmt.setObject(i + 1, params[i]); 57             } 58         } 59         rs = pstmt.executeQuery(); 60         return rs; 61     } 62  63     /** 64      * 数据库增删改方法 65      * 66      * @param sql    预编译sql语句 67      * @param params 预编译参数 68      * @return 数据库影响行数 69      * @throws SQLException 数据库异常 70      */ 71     protected int executeUpdate(String sql, Object[] params) throws SQLException { 72         try { 73             conn = getConn(); 74         } catch (ClassNotFoundException e) { 75             e.printStackTrace(); 76         } 77         int num = 0; 78         pstmt = conn.prepareStatement(sql); 79         if (params != null) { 80             for (int i = 0; i < params.length; i++) { 81                 pstmt.setObject(i + 1, params[i]); 82             } 83         } 84         num = pstmt.executeUpdate(); 85  86         return num; 87     } 88  89     /** 90      * 关闭数据库连接 91      * @param conn 数据库连接 92      * @param pstmt  statement对象 93      * @param rs  ResultSet对象 94      */ 95     protected void closeALL(Connection conn, PreparedStatement pstmt, ResultSet rs) { 96         try { 97             if (rs != null) { 98                 rs.close(); 99             }100             if (pstmt != null) {101                 pstmt.close();102             }103             if (conn != null) {104                 conn.close();105             }106         } catch (SQLException e) {107             e.printStackTrace();108         }109     }110 }

 

 

转载于:https://www.cnblogs.com/ytjava/p/7677884.html

你可能感兴趣的文章
一则关于运算符的小例
查看>>
centos7 ambari2.6.1.5+hdp2.6.4.0 大数据集群安装部署
查看>>
cronexpression 详解
查看>>
一周小程序学习 第1天
查看>>
小孩的linux
查看>>
SpringMVC、MyBatis声明式事务管理
查看>>
开发者详解:端游及手游服务端的常用架构
查看>>
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务 (七)高可用的分布式配置中心(Spring Cloud Config)...
查看>>
Oozie与Coordinator调度讲解及系统时区配置与定时触发两种配置方式
查看>>
RGB_YUV_YCbCr
查看>>
tesseract 安装及使用
查看>>
优化SqlServer--数据压缩
查看>>
SharePoint 自定义WebPart之间的连接
查看>>