Java中Dao模式中两种Dao的数据库操作(BaseDao的写法)
来源:互联网 发布:kali linux 密码字典 编辑:程序博客网 时间:2024/05/22 00:23
Dao模式是Java面向设计时的一种模式。而Dao中的BaseDao无非是对数据进行CURD(增删改查),下面列出两种常用的连接,增删改的方法。
情况一:
mport java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class BaseDao { private final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver"; private final String URL= "jdbc:sqlserver://localhost:1433;databaseName=MyJava"; private final String USERNAME = "sa"; private final String PWD = "sa"; private Connection connection; private PreparedStatement ps; protected ResultSet rs; public void getConnection(){ try { Class.forName(DRIVER); // 2在网络中查找数据库,创建连接对象 connection = DriverManager.getConnection( URL, USERNAME,PWD); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //return connection; } public void closeAll(){ try { // 释放资源 if (rs != null) rs.close(); if (ps != null) ps.close(); if (connection != null) connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 查询 * @param sql * @param params */ public void executeQuery(String sql , Object[] params){ try { getConnection(); ps = connection.prepareStatement(sql); if(params!= null){ for (int i = 0; i < params.length; i++) { ps.setObject(i+1, params[i]); } } rs = ps.executeQuery(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 查询 * @param sql * @param params */ public void executeQuery1(String sql , Object... params){ try { getConnection(); ps = connection.prepareStatement(sql); if(params!= null){ for (int i = 0; i < params.length; i++) { ps.setObject(i+1, params[i]); } } rs = ps.executeQuery(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 增、删、改 * @param sql * @param params * @return */ public int executeUpdate(String sql , Object[] params){ int result = -1; try { getConnection(); ps = connection.prepareStatement(sql); if(params!= null){ for (int i = 0; i < params.length; i++) { ps.setObject(i+1, params[i]); } } result= ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ this.closeAll(); } return result; } /** * 增、删、改 * @param sql * @param params * @return */ public int executeUpdate1(String sql , Object... params){ int result = -1; try { getConnection(); ps = connection.prepareStatement(sql); if(params!= null){ for (int i = 0; i < params.length; i++) { ps.setObject(i+1, params[i]); } } result= ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ this.closeAll(); } return result; }}
情况二:
package dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class BaseDao1 { private final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver"; private final String URL= "jdbc:sqlserver://localhost:1433;databaseName=MyJava"; private final String USERNAME = "sa"; private final String PWD = "sa"; protected Connection connection; protected PreparedStatement ps; public Connection getConnection(){ try { Class.forName(DRIVER); // 2在网络中查找数据库,创建连接对象 connection = DriverManager.getConnection( URL, USERNAME,PWD); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return connection; } public void closeAll(ResultSet rs, PreparedStatement ps, Connection conn ){ try { // 释放资源 if (rs != null) rs.close(); if (ps != null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public ResultSet executeQuery(String sql , Object[] params){ ResultSet rs = null; try { getConnection(); ps = connection.prepareStatement(sql); if(params!= null){ for (int i = 0; i < params.length; i++) { ps.setObject(i+1, params[i]); } } rs = ps.executeQuery(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return rs; } /** * 增、删、改 * @param sql * @param params * @return */ public int executeUpdate1(String sql , Object... params){ int result = -1; try { getConnection(); ps = connection.prepareStatement(sql); if(params!= null){ for (int i = 0; i < params.length; i++) { ps.setObject(i+1, params[i]); } } result= ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ this.closeAll(null,ps,connection); } return result; }}
以上两种方法都只是以个人风格而使用。这只是最基本的代码了。oK。每天至少一个知识点到此。
1 0
- Java中Dao模式中两种Dao的数据库操作(BaseDao的写法)
- Dao操作的抽取, BaseDao
- Hibernate DAO层 的BaseDao泛型写法
- BaseDao --- dao层的抽取
- 提取出Dao中公共的部分BaseDao
- java中DAO模式的好处
- DAO部分的基础类BaseDAO
- java hibernate 基础dao basedao
- Hibernate中应用dao设计模式进行数据库的增删改查操作
- Spring中常用的操作数据库的(Dao)方法
- Android数据库操作的操作(SQLiteOpenHelper Dao)
- Spring与Hibernate Dao中操作数据库的另外方式
- Java中DAO的实现
- Java中DAO的实现
- Java中DAO的实现
- Java中DAO的实现
- Java中DAO的实现
- Dao对数据库的操作进行封装
- Cache和Buffer的区别
- 判断操作是否合法A
- 使用token防止表单重复提交
- CCF认证-出现次数最多的数
- Android:inputType常用取值
- Java中Dao模式中两种Dao的数据库操作(BaseDao的写法)
- 在CentOS release 6.4 下mysql的rpm方式的安装
- Linux编程-线程优先级的设定
- CreateWindow函数详解
- CentOS6.5安装pymvpa2
- Notification与多线程
- maven搭建多模块项目
- C++实现简单的计时器
- socket浅显的自我理解