封装操作数据库dbUtil工具类
发布日期:2022-02-28 11:05:51
浏览次数:3
分类:技术文章
本文共 3253 字,大约阅读时间需要 10 分钟。
通过Apache 提供的dbUtil工具类,在手动封装一下它的方法,以便更简单的使用
dbUtils是java编程中的数据库操作实用工具,小巧简单实用,封装了对JDBC的操作,简化了JDBC,可以少写代码使用Druid连接池操作
1.首先导入druid-1.1.10.jar 和commons-dbutils-1.4.jar
2.定义配置文件信息jdbc.propertiesdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/student###Druid连接数据库乱码时在数据库名后面加上useUnicode=true&characterEncoding=utf8&characterSetResults=utf8username=rootpassword=root
3.创建Druid连接池工具类
import com.alibaba.druid.pool.DruidDataSourceFactory;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;/** * @description: Druid工具类 * @author: java小小白 * @create: 2021-02-23 17:33 **/public class DruidUtil { static Properties prop = new Properties(); //获取连接 public static Connection getConnection(){ Connection conn = null; try { //通过本类的反射机制再到jdbc.properties文件 InputStream in = DruidUtil.class.getClassLoader().getResourceAsStream("jdbc.properties"); //加载文件 prop.load(in); try { //获取连接 conn = DruidDataSourceFactory.createDataSource(prop).getConnection(); } catch (Exception e) { e.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); } return conn; }}
4.创建dbUtil数据库操作工具类
import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.handlers.BeanListHandler;import org.apache.commons.dbutils.handlers.ScalarHandler;import java.sql.Connection;import java.sql.SQLException;import java.util.List;/** * @program: middle_java11 * @description: 数据库操作工具类 * @author: * @create: 2021-02-24 13:55 **/public class Dbutil { //核心类 static QueryRunner qr = new QueryRunner(); static Connection conn = DruidUtil.getConnection(); /** * 增删改数据库 * @param sql 传入sql语句 * @param params 将多个参数变成数组传入 * @return */ public static int update(String sql,Object[] params){ int i = 0; try { i = qr.update(conn,sql,params); } catch (SQLException e) { e.printStackTrace(); } return i; } /** * 查询全部数据 * @param sql 传入sql语句 * @param c 传入bean.class */ public staticList selectList(String sql, Class c){ try { return qr.query(conn, sql, new BeanListHandler<>(c)); } catch (SQLException e) { e.printStackTrace(); } return null; } /** * 根据条件查询数据 * @param sql 传入sql语句 * @param c 传入bean.class * @param params 传入所需要的查询条件 * @param * @return */ public static List selectList(String sql,Class c,Object... params){ try { return qr.query(conn, sql, new BeanListHandler<>(c),params); } catch (SQLException e) { e.printStackTrace(); } return null; } /** * 查询数据库里的总数据有多少条 * @param sql * @return */ public static Integer selectWhere(String sql){ Integer i = 0; try { Object o = qr.query(conn,sql,new ScalarHandler()); i = Integer.parseInt(o.toString()); } catch (SQLException e) { e.printStackTrace(); } return i; }}
操作到这一步,就可以创建测试类进行测试了,有更好的方法…请留言区提点~~三克油
转载地址:https://blog.csdn.net/weixin_47427198/article/details/114035158 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年03月25日 20时34分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
说说 Python 元组的高级用法
2019-04-26
系统架构设计笔记(66)—— 配置管理与文档管理
2019-04-26
系统架构设计笔记(67)—— 软件需求管理
2019-04-26
系统架构设计笔记(68)—— 软件开发的质量与风险
2019-04-26
系统架构设计笔记(69)—— 人力资源管理
2019-04-26
系统架构设计笔记(70)—— 软件运行评价与过程改进
2019-04-26
系统架构设计笔记(71)—— 信息系统概述
2019-04-26
说说 Canvas 的旋转功能
2019-04-26
说说 Canvas 的缩放功能
2019-04-26
系统架构设计笔记(72)—— 信息系统工程
2019-04-26
系统架构设计笔记(73)—— 政府信息化与电子政务
2019-04-26
SWIFT入门 Dictionary
2019-04-26
生死6小时!!!!!!!!!!!!!!!!1
2019-04-26
段永平大佬!
2019-04-26
mysql-connector-java与Mysql、Java的对应版本
2019-04-26
MySQL 表锁、行锁、间隙锁、页锁介绍分析
2019-04-26
codeforces 789A(数学)
2019-04-26
Codeforces 796A
2019-04-26
dp46上 HDU2084
2019-04-26
dp46上 HDU1421
2019-04-26