035_jdbc-mysql-dbutils的使用
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的使用相关推荐
- dbutils mysql,DbUtils操作数据库
1.什么是O-R Mapping(对象-关系映射) 常用O-R Mapping映射工具 Hibernate(全自动框架) Ibatis(半自动框架/SQL) Commons DbUti ls(只是对J ...
- mysql 常用数据库连接池_常见的数据库连接池
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 2.C3P0 在Hibernate和Spring中默认支持该数据库连接池 需要引入:c3p0-0.9.1.2.jar包,如果 ...
- Scala深入浅出——从Java到Scala
本文适合有一定Java基础的,并想系统学习Scala的小伙伴借鉴学习.文章有大量实例,建议自己跑一遍. Scala深入浅出--从Java到Scala Scala 一.介绍 1.什么是Scala? 2. ...
- 隐式转换函数高级使用
Scala隐式转换函数的底层原理 类型不匹配: java:会强制转换 scala:会使用对象的方法进行数据类型转换,隐式转换,scala中只看函数签名(参数列表和返回值) object Scala_L ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 满汉楼(德鲁伊连接池+DBUtils+DAO+Mysql)保姆级别分析+代码实现
一:需求 1.完成一个酒店后台管理系统,当然只是模拟,在控制台就行模拟 2.实现管理人员的登录和酒店成本账单的查看,以及正常的点餐,结账和查看账单等等功能 二:实现的功能展示 1.用户登录(这里输入的 ...
- mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据
Database Connection Pool Introduction to Database Connection Pool 实际开发中"获得连接"或"释放资源&q ...
- jdbc mysql分页_JDBC【数据库连接池、DbUtils框架、分页】
1.数据库连接池 什么是数据库连接池 简单来说:数据库连接池就是提供连接的... 为什么我们要使用数据库连接池 数据库的连接的建立和关闭是非常消耗资源的 频繁地打开.关闭连接造成系统性能低下 编写连接 ...
- 使用dbutils对mysql数据库做增删改查的基本操作方法
2019独角兽企业重金招聘Python工程师标准>>> 1.数据库名:phoenix_uml,t_user.sql 表结构 SET FOREIGN_KEY_CHECKS=0;-- - ...
- dbutils mysql_使用DBUtils控制mysql事务
import org.apache.commons.dbutils.QueryRunner; import java.sql.Connection; import java.sql.SQLExcept ...
最新文章
- C#里面Console.Write与Console.WriteLine有什么区别????
- eve模拟器_EVE-NG,不仅仅是一款网络模拟软件,更是虚拟仿真环境
- 每天一道LeetCode-----找出给定序列的所有子序列
- 圆柱形成的动态演示图!超直观
- java 异或_Javase第一部分:操作符的使用(按位异或运算)(含视频讲解)
- javascript兼容性:IE6/7关闭浏览器操作
- redhat自带mysql_rhel4卸载系统自带的mysql4.1
- 让系统自动登录的方法
- python斐波那契递归_Python递归斐波那契示例
- 中琅领跑条码打印软件如何导入CDR文件
- Docker 比较好的新入门教程
- Nginx ~模块详解~
- Locally weighted linear regression
- 基于OpenCV与 ImageAI 的动漫人物识别
- 【推荐算法】协同过滤算法介绍
- 不同时区时间换算_世界时区划分时差在线查询计算_时间换算器
- docker之run/cmd/entrypoint的区别
- 杂谈---一个项目经理的自我反省
- 叶展:我在泽熙学到的七堂课
- 如何成为牛逼的程序员