`
wxb880114
  • 浏览: 681907 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用c3p0实现Apache—DBUtils框架的Dao层源码

 
阅读更多
用c3p0实现Apache—DBUtils框架的Dao层源码
分类: 课堂随笔 2011-11-22 20:43 484人阅读 评论(0) 收藏 举报

用c3p0实现Apache—DBUtils框架的Dao层源码

      import java.sql.SQLException;

import java.util.Arrays;

import java.util.List;

import java.util.Map;



import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.ArrayHandler;

import org.apache.commons.dbutils.handlers.ArrayListHandler;

import org.apache.commons.dbutils.handlers.BeanHandler;

import org.apache.commons.dbutils.handlers.BeanListHandler;

import org.apache.commons.dbutils.handlers.MapListHandler;



import com.hbsi.domain.User;

import com.hbsi.utils.DBManager_c3p0;



public class UserDaoImpl {

      // 插入操作

      public void insert() {

           // 得到数据库连接池对象

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "insertinto users(name,password) values('liop','8988')";

           try {

                 runner.update(sql);

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

      }



      // 删除操作

      public void delete() {

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "deletefrom users where id=1";

           try {

                 runner.update(sql);

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

      }



      // 更新操作

      public void update() {

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "updateusers set name='老王',password=222 where id=3";

           try {

                 runner.update(sql);

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

      }



      // 通过Id查询操作

      public void findById() {

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "select* from users where id=3";

           BeanHandler rsh = newBeanHandler(User.class);

           try {

                 User user =runner.query(sql, rsh);

                 System.out.println(user.toString());

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

      }



      // 查询所有

      public void findAll() {

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "select* from users";

           BeanListHandler rsh = newBeanListHandler(User.class);



           try {

                 List<User>entities = runner.query(sql, rsh);

                 System.out.println(entities.size());

                 for (User entity :entities) {

                      System.out.println(entity.toString());

                 }

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

      }



      // 批处理

      public void bath() {

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "insertinto users(name,password) values(?,?)";

           Object[][] params = { {"aaa", "111" }, { "qqq", "222" },

                      {"www", "333" }, { "eee", "444" } };

           try {

                 runner.batch(sql,params);

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

      }



      // ArrayHandler的使用

      public void testArrayHandler(){

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "select* from users where id=5";

           ArrayHandler rsh = newArrayHandler();

           try {

                 Object[] array =runner.query(sql, rsh);

                 System.out.println(Arrays.asList(array));

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

      }



      // ArrayListHandler的使用

      public void testArrayListHandler(){

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "select* from users";

           ArrayListHandler rsh =new ArrayListHandler();

           try {

                 List<Object[]>array = runner.query(sql, rsh);

                 for (int i = 1; i< array.size(); i++) {

                      System.out.println(Arrays.asList(array.get(i)));

                 }

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }



      }



      // Map的应用

      public voidtestMapListHandler(){

           QueryRunner runner = newQueryRunner(DBManager_c3p0.getDataSource());

           String sql = "select* from users";

           MapListHandler rsh = newMapListHandler();

           List<Map<String,Object>> result=null;

           try {

                 result =(List<Map<String, Object>>) runner.query(sql,rsh);

                 for (int i = 0; i< result.size(); i++) {

                      Map<String,Object> map = result.get(i);

                      System.out.println("---------------------");



                      for(Map.Entry<String, Object> me : map.entrySet()) {

                            StringcolName = me.getKey();

                            Objectvalue = me.getValue();



                            System.out.println(colName+ " = " + value);

                      }

                 }

           } catch (SQLException e){

                 // TODOAuto-generated catch block

                 e.printStackTrace();

           }

         

      }



      public static voidmain(String[] args) {

           // new UserDaoImpl().insert();

           // newUserDaoImpl().delete();

           // newUserDaoImpl().update();

           // newUserDaoImpl().findById();

           // newUserDaoImpl().findAll();

           // 批处理

           // newUserDaoImpl().bath();

           // 数组使用

           // newUserDaoImpl().testArrayHandler();

           //

           //newUserDaoImpl().testArrayListHandler();

           newUserDaoImpl().testMapListHandler();

      }
分享到:
评论

相关推荐

    使用C3P0连接池和DButils进Dao模式的数据库操作

    使用C3P0连接池和DBUtils实现Dao模式的步骤如下: 1. **引入依赖**:首先,在项目中添加C3P0和DBUtils的依赖库,通常通过Maven或Gradle的配置来完成。 2. **配置C3P0**:创建一个配置文件(如c3p0-config.xml),...

    C3P0和DButils

    将C3P0和DBUtils结合使用,可以构建一个高效且稳定的数据库访问层。例如,通过C3P0初始化一个数据库连接池,然后在DBUtils的QueryRunner中使用这些连接来执行数据库操作。这样,不仅可以利用C3P0的连接池管理,还能...

    c3p0和dbutils的jar包

    c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包c3p0和dbutils的jar包...

    c3p0和dbUtils相关lib包

    `c3p0`和`dbUtils`是两个常用的Java库,它们帮助开发者更有效地管理和操作数据库连接。`servlet`是Java Web开发的基础组件,而`MySQL`则是一种广泛应用的关系型数据库管理系统。下面我们将详细探讨这些知识点。 ...

    c3p0+dbUtils+Ajax+Json+Jquery实现【增删改查】Demo

    在本项目"C3P0+DBUtils+Ajax+Json+Jquery实现【增删改查】Demo"中,我们将探讨如何结合这些技术来构建一个功能完善的Web应用,用于执行基本的数据操作,即增(Add)、删(Delete)、改(Modify)和查(Query)。...

    javaWeb入门jar(BeanUtils C3p0 DBCP DButils dom4j JDBC jstl)

    这些库包括BeanUtils、C3p0、DBCP、DBUtils、JDBC、jstl和dom4j,它们各自在不同的领域提供了强大的支持。 1. **BeanUtils**:Apache Commons BeanUtils库简化了Java对象属性的访问和操作。它提供了一种通过属性名...

    c3p0-dbutils-mysql连接驱动.zip

    在Java开发中,数据库连接管理是一项关键任务,而c3p0-dbutils-mysql连接驱动则是实现这一目标的重要工具。本篇文章将深入探讨c3p0、DBUtils以及MySQL驱动在Java应用程序中的作用和使用方法。 首先,c3p0是一个开源...

    dbutils+c3p0

    将DBUtils、C3P0和ojdbc6结合使用,可以构建一个高效、可靠的数据库访问层。具体步骤如下: 1. 首先,你需要在项目中引入这三个库的依赖。如果是Maven项目,可以在pom.xml文件中添加对应的依赖项;对于非Maven项目...

    java web项目源码基于servlet+c3p0+dbutils+jsp网上商城+mysql数据库文件.zip

    原创制作,无框架,功能界面美观大气,这个Java Web项目是一个基于servlet、c3p0和dbutils的网上商城系统,使用MySQL数据库作为后端存储。它采用了极简风格的设计,没有使用任何框架,所有代码都是手写的。 该项目...

    Apache Dbutils +springmvc 框架demo代码

    commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。 springmvc与springmvc 整合demo

    学生信息管理系统、MVC设计模式,实现学生信息管理(增删改查)使用MYSQL、C3P0、DBUtils

    通过集成MySQL数据库进行数据存储,C3P0连接池优化数据库连接管理,以及DBUtils简化数据库操作,系统具有良好的结构和性能。StuSerVlet作为控制器处理HTTP请求,协调模型和视图,完成各种功能,如查询学生信息、添加...

    apache dbutils中文说明

    Apache DBUtils是一个开源的Java库,它为Java程序员提供了便捷的方式来处理JDBC(Java Database Connectivity)操作。DBUtils的主要目标是简化JDBC编程,减少代码重复,并帮助避免常见的JDBC编程错误。它不是一个...

    基于Apache Commons DbUtils的EnhancedJDBC设计源码

    EnhancedJDBC是一个基于Apache Commons DbUtils构建并扩展其功能的纯JDBC持久层工具,项目包含410个文件,主要由401个Java源文件组成,辅以少量批处理脚本、Markdown文档、版本控制忽略文件、许可协议文件、XML配置...

    commons-dbutils-1.4(用于连接池)C3P0.rar

    在实际应用中,开发者通常会将Apache Commons DBUtils和C3P0结合使用,DBUtils负责简化SQL操作,C3P0负责高效管理数据库连接。通过使用C3P0的连接池,开发者可以在不影响性能的前提下,有效地管理和复用数据库连接,...

    apache dbutils 框架

    7. **连接池集成**:DBUtils可以很好地与各种常见的Java数据库连接池(如C3P0、DBCP、HikariCP等)集成,提高数据库操作的性能。 在提供的压缩文件中,我们看到以下几个部分: 1. **DdlUtils-1.0.jar**:这是...

    Apache DBUtils使用总结

    Apache DBUtils 是一个轻量级的 Java 数据库连接(JDBC)工具,它提供了一些实用功能,简化了数据库操作。DBUtils 最主要的功能是对 JDBC 结果集进行封装,能够将查询结果直接转换为 JavaBean 对象,从而减轻开发...

    简易学生信息管理系统 使用Servlet+DButils+c3p0+MySQL等工具编写.zip

    本项目名为“简易学生信息管理系统”,它利用了Java Web中的Servlet、DBUtils、c3p0以及MySQL数据库来实现。下面我们将逐一探讨这些技术及其在项目中的应用。 1. **Servlet**: Servlet是Java EE的一部分,它是...

    Apache Dbutils JDBC 框架demo代码

    commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司...

    dbutils框架

    DBUtils的核心理念是通过提供一组实用工具类来减少数据库访问代码,使得开发人员能够更专注于业务逻辑,而不是繁琐的数据层实现。 **1. 框架特性** 1.1 容错性:DBUtils通过处理SQLException异常,提供了一种优雅...

    mysql spring c3p0/dbcp/dbUtils工具支持包

    [Database-support-package]-...[myDbPoolUse]C3P0连接池配置/DBCP连接池配置/Apache的DBUtils框架使用 [myFilterDemoWeb]过滤器Filter学习-设置全站编码与设置页面缓存 [myGzipWeb]全站压缩 [myJavaMainDemo]Java-Q

Global site tag (gtag.js) - Google Analytics