JDBC的封装
来源:互联网 发布:顶尖数据恢复软件 编辑:程序博客网 时间:2024/06/07 07:15
package com.softeem.utils;import java.sql.Connection;import com.softeem.utils.DBConnection;public class BaseConn {public Connection getConn(){return new DBConnection().getConn();}}package com.softeem.utils;import java.util.List;public interface BaseDAO<T> {public boolean insert(T t);public boolean delete(T t);public boolean update(T t);public List<T> findAll();public T findById(T t);}package com.softeem.utils;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;//通用增删改public class DAOHelper {public static boolean execUpdate(Connection conn, String sql, Object... obj) {try {PreparedStatement ps = conn.prepareStatement(sql);for (int i = 0; i < obj.length; i++) {ps.setObject(1 + i, obj[i]);}int i = ps.executeUpdate();return i > 0 ? true : false;} catch (SQLException e) {e.printStackTrace();}return false;}//通用查public static <T> List<T> execQuery(String sql,CallBack<T> call,Object...params){Connection conn = DBConnection.getConn();PreparedStatement ps = null;try {ps = conn.prepareStatement(sql);for(int i = 0; i < params.length;i++){ps.setObject(i+1, params[i]);}ResultSet rs = ps.executeQuery();return call.getDatas(rs);} catch (SQLException e) {e.printStackTrace();}return null;}public static <T> T execQueryOne(String sql,CallBack<T> call,Object...params){Connection conn = DBConnection.getConn();PreparedStatement ps = null;try {ps = conn.prepareStatement(sql);for(int i = 0; i < params.length;i++){ps.setObject(i+1, params[i]);}ResultSet rs = ps.executeQuery();return call.getData(rs);} catch (SQLException e) {e.printStackTrace();}return null;}//public interface CallBack<T>{//public List<T> getDatas(ResultSet rs);//}public static abstract class CallBack<T>{public List<T> getDatas(ResultSet rs){return null;}public T getData(ResultSet rs){return null;}}}package com.softeem.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBConnection {//声明连接数据库的基本参数private static final String Driver = "com.mysql.jdbc.Driver";private static final String URL = "jdbc:mysql://localhost/ts";private static final String USER = "root";private static final String PASSWORD = "123123";//在静态块中加载驱动,防止反复创建static{try {Class.forName(Driver);} catch (ClassNotFoundException e) {e.printStackTrace();}}//封装获取连接的方法public static Connection getConn(){try {return DriverManager.getConnection(URL,USER,PASSWORD);} catch (SQLException e) {e.printStackTrace();}return null;}public static void close(ResultSet rs,Statement stat,Connection conn){try {if(rs != null)rs.close();if(stat != null)stat.close();if(conn != null)conn.close();} catch (SQLException e) {e.printStackTrace();}}}
阅读全文
0 0
- JDBC的封装
- JDBC 的封装
- Jdbc的普通封装
- JDBC的封装类
- JDBC的封装
- JDBC使用方法的封装
- JDBC连接的封装
- 关于JDBC的封装
- JAVA-JDBC的封装
- JDBC的封装
- 简单的jdbc封装+servlet的封装
- 自己的jdbc轻封装
- JDBC的封装类构建
- JDBC 对数据库连接的封装
- java的jdbc简单封装
- 封装的JDBC工具类
- JDBC工具类的封装
- 关于jdbc-util的封装
- UVa202-Repeating Decimals
- C语言 链式队列
- atoi函数的实现
- mysql存储过程——游标
- 【英语】--闲散的时光
- JDBC的封装
- qt *.pro 和源代码通用宏定义(如条件编译)
- web第五天js
- JavaScript基本类型和引用类型的不同
- RecyclerView的onLayout浅析(一)
- LSTM 两个激励函数区别sigmoid 和tanh
- 编程实现一个单链表的测长
- 对公钥和私钥使用的理解
- MySQL触发器初探