JDBC的轻量级封装DBUtils开源组件的使用(二)
2013-07-07 02:46
661 查看
在开源中国上看到站长的博客,说开源中国是用java+mysql写的,没有用庞大的Hibernate,而是用的DbUtils组件,于是对这个组件产生了兴趣,根据“JDBC的轻量级封装DBUtils开源组件的使用(一)”简单地学习了一下。下面是写的一个Demo:
TestDbUtils.java
本文出自 “quietboy's blog” 博客,请务必保留此出处http://quietboy.blog.51cto.com/6711298/1242828
TestDbUtils.java
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; /** * @author 张省三 * E-mail:xingsan.zhang@gmail.com * 2013-7-6 下午10:17:32 */ public class TestDbUtils { private static String driverClassName = "com.mysql.jdbc.Driver"; private static String url = "jdbc:mysql://localhost:3306/liuyanban"; private static String user = "root"; private static String password = "fendou"; private static Connection conn = null; //DBCP数据源 /*public static BasicDataSource setupDataSource(String connectURI) { BasicDataSource ds = new BasicDataSource(); ds.setDriverClassName(driverClassName); ds.setUsername(user); ds.setPassword(password); ds.setUrl(connectURI); //ds.setMinIdle(5); return ds; }*/ QueryRunner runner = new QueryRunner(); /** * 得到连接方法 */ public static void getConn(){ if(DbUtils.loadDriver(driverClassName)){//加载驱动 try { conn = DriverManager.getConnection(url, user, password);//得到连接 } catch (SQLException e) { System.out.println("连接失败!"); e.printStackTrace(); } } } /** * 增、删、改操作方法 */ public void update(){ getConn();//得到连接 boolean b = false; String sql = "insert into user (username,password) values(?,?)"; try { if(runner.update(conn, sql, "xiaofeng","123456") > 0){//如果返回结果大于0,则执行成功 System.out.println("插入成功!"); b = true; } } catch (SQLException e) { e.printStackTrace(); } finally{ try { DbUtils.close(conn);//关闭连接 } catch (SQLException e) { e.printStackTrace(); } } } //根据主键值查询,因为查询得到的结果只可能有一条记录,所以这里使用BeanListHandler BeanHandler bh = null; @SuppressWarnings("unchecked") /** * 查询方法,返回一条记录 */ public User select(int userId){ getConn(); User user = null; String sql = "select *from user where userId = ?"; bh = new BeanHandler<User>(User.class);//实例化BeanHandler对象 try { user = runner.query(conn, sql, bh, userId);//查询 System.out.println(user.getUsername()+"---"+user.getPassword()); return user; } catch (SQLException e) { System.out.println("查询出错!"); e.printStackTrace(); } finally{ try { DbUtils.close(conn);//关闭连接 } catch (SQLException e) { e.printStackTrace(); } } return user; } //返回一个集合,用BeanListHandler类 BeanListHandler blh = null; @SuppressWarnings("unchecked") /** * 查询方法,返回一个集合 */ public List select(){ getConn(); List<User> list = null; String sql = "select *from user"; blh = new BeanListHandler<User>(User.class);//实例化BeanListHandler对象 try { list = runner.query(conn, sql, blh);//查询,返回List for(User user : list){ System.out.println(user.getUsername()+"---"+user.getPassword()); } return list; } catch (SQLException e) { System.out.println("查询出错!"); e.printStackTrace(); } finally{ try { DbUtils.close(conn);//关闭连接 } catch (SQLException e) { e.printStackTrace(); } } return list; } public static void main(String[] args) { //new TestDbUtils().update(); //new TestDbUtils().select(1); new TestDbUtils().select(); } }User.java
/** * @author 张省三 * E-mail:xingsan.zhang@gmail.com * 2013-7-7 上午01:56:49 */ public class User { private String username; private String password; private String email; private int isAdmin; 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 String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public int getIsAdmin() { return isAdmin; } public void setIsAdmin(int isAdmin) { this.isAdmin = isAdmin; } }
本文出自 “quietboy's blog” 博客,请务必保留此出处http://quietboy.blog.51cto.com/6711298/1242828
相关文章推荐
- JDBC的轻量级封装DBUtils开源组件的使用(一)
- 从零开始学JDBC--1.17 使用DbUtils组件实现CRUD和结果集快速封装
- JDBC轻量级封装的工具包Apache DbUtils使用教程
- JDBC-DBUtils开源工具类库(简化查询封装数据过程)
- Apache DbUtils - JDBC轻量级封装的工具包
- 【Java.ThirdParty】Apache Commons —— DbUtils —— JDBC轻量级封装
- 轻量级高性能jdbc封装工具 Apache Commons DbUtils 1.6
- Apache DbUtils - JDBC轻量级封装的工具包
- 第十七天dbutils的使用------Commons DbUtils(Apache)第三方的:只是对JDBC编码进行了简单的封装
- Apache DbUtils - JDBC轻量级封装的工具包
- 轻量级JDBC封装DBUtils简单教程
- android轻量级开源缓存框架——ASimpleCache(ACache)源码分析(封装好了一个工具类供大家使用)
- DbUtils component学习使用(jdbc封装工具)
- DBUtils使用(对jdbc的封装)
- 使用DbUtils对JDBC封装实现面向实体查询
- 支持连接池和结果集缓存的MySQL数据库JDBC通用框架的轻量级封装(一)——粗略实现
- [easyui]单例模式封装组件,提高性能,按需使用
- 网易新闻iOS版使用的18个开源组件
- 支付宝 Android 版使用的开源组件
- Linux组件封装(四)使用RAII技术实现MutexLock自动化解锁