1. 新建一个名叫dbutils的java项目, 使用c3p0的配置

2. 添加dbutils的相关jar

3. 使用c3p0的JDBCUtil.java

package com.lywgames.util;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;/*** 使用数据库连接池的获取的数据库连接, 我们不用做关闭操作, 数据库连接池自行管理*/
public class JDBCUtil {private static DataSource dataSource = null;static {dataSource = new ComboPooledDataSource();}public static DataSource getDataSource() {return dataSource;}/*** 获取连接对象*/public static Connection getConn(){try {return dataSource.getConnection();} catch (SQLException e) {e.printStackTrace();}return null;}/*** 释放资源* @param st* @param rs*/public static void release(Statement st, ResultSet rs){closeRs(rs);closeSt(st);}public static void release(Statement st){closeSt(st);}public static void closeRs(ResultSet rs){try {if(rs != null){rs.close();}} catch (SQLException e) {e.printStackTrace();}finally{rs = null;}}public static void closeSt(Statement st){try {if(st != null){st.close();}} catch (SQLException e) {e.printStackTrace();}finally{st = null;}}}

4. 新建一个User.java实体类

package com.lywgames.bean;import java.sql.Timestamp;public class User {private int id;private String username;private String password;private Timestamp registertime;@Overridepublic String toString() {return "User [id=" + id + ", username=" + username + ", password=" + password + ", registertime=" + registertime+ "]";}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Timestamp getRegistertime() {return registertime;}public void setRegistertime(Timestamp registertime) {this.registertime = registertime;}
}

5. 使用dbutils

package com.lywgames.myjdbc;import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.lywgames.bean.User;
import com.lywgames.util.JDBCUtil;/*** QueryRunner的update方法, 可以进行插入、删除、更新操作* QueryRunner的query方法, 可以进行查询操作*/
public class MyJDBC {public static void main(String[] args) {try {QueryRunner queryRunner = new QueryRunner();User user = queryRunner.query(JDBCUtil.getConn(), "select * from user where id = ?", new BeanHandler<User>(User.class), 1002);System.out.println(user.toString());} catch (SQLException e) {e.printStackTrace();} }public static void selectList() {try {QueryRunner queryRunner = new QueryRunner(JDBCUtil.getDataSource());List<User> list = queryRunner.query("select * from user", new BeanListHandler<User>(User.class));for (User user : list) {System.out.println(user.toString());}} catch (SQLException e) {e.printStackTrace();} }public static void insert() {try {// 传入数据库连接池对象, QueryRunner不会创建连接QueryRunner queryRunner = new QueryRunner(JDBCUtil.getDataSource());queryRunner.update("insert into user values (null, ?, ?, ?)", "guanyu", "123456", new Timestamp(System.currentTimeMillis()));} catch (SQLException e) {e.printStackTrace();} }public static void update() {try {QueryRunner queryRunner = new QueryRunner(JDBCUtil.getDataSource());queryRunner.update("update user set username = ? where id = ?", "zhangfei", 1000);} catch (SQLException e) {e.printStackTrace();} }public static void delete() {try {QueryRunner queryRunner = new QueryRunner(JDBCUtil.getDataSource());queryRunner.update("delete from user where id = ?", 1001);} catch (SQLException e) {e.printStackTrace();} }       }

035_jdbc-mysql-dbutils的使用相关推荐

  1. dbutils mysql,DbUtils操作数据库

    1.什么是O-R Mapping(对象-关系映射) 常用O-R Mapping映射工具 Hibernate(全自动框架) Ibatis(半自动框架/SQL) Commons DbUti ls(只是对J ...

  2. mysql 常用数据库连接池_常见的数据库连接池

    欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 2.C3P0 在Hibernate和Spring中默认支持该数据库连接池 需要引入:c3p0-0.9.1.2.jar包,如果 ...

  3. Scala深入浅出——从Java到Scala

    本文适合有一定Java基础的,并想系统学习Scala的小伙伴借鉴学习.文章有大量实例,建议自己跑一遍. Scala深入浅出--从Java到Scala Scala 一.介绍 1.什么是Scala? 2. ...

  4. 隐式转换函数高级使用

    Scala隐式转换函数的底层原理 类型不匹配: java:会强制转换 scala:会使用对象的方法进行数据类型转换,隐式转换,scala中只看函数签名(参数列表和返回值) object Scala_L ...

  5. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. 满汉楼(德鲁伊连接池+DBUtils+DAO+Mysql)保姆级别分析+代码实现

    一:需求 1.完成一个酒店后台管理系统,当然只是模拟,在控制台就行模拟 2.实现管理人员的登录和酒店成本账单的查看,以及正常的点餐,结账和查看账单等等功能 二:实现的功能展示 1.用户登录(这里输入的 ...

  7. mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据

    Database Connection Pool Introduction to Database Connection Pool 实际开发中"获得连接"或"释放资源&q ...

  8. jdbc mysql分页_JDBC【数据库连接池、DbUtils框架、分页】

    1.数据库连接池 什么是数据库连接池 简单来说:数据库连接池就是提供连接的... 为什么我们要使用数据库连接池 数据库的连接的建立和关闭是非常消耗资源的 频繁地打开.关闭连接造成系统性能低下 编写连接 ...

  9. 使用dbutils对mysql数据库做增删改查的基本操作方法

    2019独角兽企业重金招聘Python工程师标准>>> 1.数据库名:phoenix_uml,t_user.sql 表结构 SET FOREIGN_KEY_CHECKS=0;-- - ...

  10. dbutils mysql_使用DBUtils控制mysql事务

    import org.apache.commons.dbutils.QueryRunner; import java.sql.Connection; import java.sql.SQLExcept ...

最新文章

  1. C#里面Console.Write与Console.WriteLine有什么区别????
  2. eve模拟器_EVE-NG,不仅仅是一款网络模拟软件,更是虚拟仿真环境
  3. 每天一道LeetCode-----找出给定序列的所有子序列
  4. 圆柱形成的动态演示图!超直观
  5. java 异或_Javase第一部分:操作符的使用(按位异或运算)(含视频讲解)
  6. javascript兼容性:IE6/7关闭浏览器操作
  7. redhat自带mysql_rhel4卸载系统自带的mysql4.1
  8. 让系统自动登录的方法
  9. python斐波那契递归_Python递归斐波那契示例
  10. 中琅领跑条码打印软件如何导入CDR文件
  11. Docker 比较好的新入门教程
  12. Nginx ~模块详解~
  13. Locally weighted linear regression
  14. 基于OpenCV与 ImageAI 的动漫人物识别
  15. 【推荐算法】协同过滤算法介绍
  16. 不同时区时间换算_世界时区划分时差在线查询计算_时间换算器
  17. docker之run/cmd/entrypoint的区别
  18. 杂谈---一个项目经理的自我反省
  19. 叶展:我在泽熙学到的七堂课
  20. 如何成为牛逼的程序员

热门文章

  1. 首届中国IT架构大师高峰论坛(十年架构之路汇成一句话!)
  2. PHP5.5安装GeoIP扩展
  3. Oracle Sequence用plsql修改
  4. Cow Relays POJ - 3613
  5. git 使用详解(8)-- tag打标签
  6. 微信三方授权域名问题
  7. HTTP协议之响应头Date与Age
  8. 新的html页面拼接类库(简易的模板引擎)
  9. 人工智能和神经科学之间有什么关系?诺奖得主这样说……
  10. 图像处理与计算机视觉开源软件库及学习站点