035_jdbc-mysql-dbutils的使用
生活随笔
收集整理的這篇文章主要介紹了
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的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 034_jdbc-mysql-C3P0
- 下一篇: 010_学生管理系统一