c3p0+DButils操作数据库
2016-10-05 09:01
381 查看
c3p0+DButils操作数据库
概述
不管是在无框架的Servlet+Jsp开发中,还是在后续的基于框架的开发中,c3p0连接池技术和Dbutils工具的结合会使得前台和后台之间的数据库连接变的十分的简单,操作方便,我们只需要关注SQL语句即可,下面将从实际角度讲解这两者结合后应该怎么使用。使用
首先要导入c3p0和dbutils的jar包接着在src目录下存放c3p0的配置文件,配置文件是c3p0自己去识别并读入的,我们不需要在代码中做任何的操作,但是配置文件一般命名为:c3p0-config.xml,该配置文件中的内容如下:
<c3p0-config> <default-config> <property name="driverClass">org.postgresql.Driver</property> <property name="jdbcUrl">jdbc:postgresql://192.168.100.120:5432/postgres</property> <property name="user">postgres</property> <!-- <property name="password">root</property> --> <property name="initialPoolSize">5</property> <property name="maxPoolSize">10</property> </default-config> <!-- 配置多数据源时使用,在ComboPooledDataSource核心类中存在一个带String参数的构造函数,该构造函数当不用写时,默认读取的是default-config 当使用该参数,并且写上name-config中的name参数时,会去读取下面的这个配置文件 --> <named-config name="oracleConfig"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql:///day17</property> <property name="user">root</property> <property name="password">root</property> <property name="initialPoolSize">5</property> <property name="maxPoolSize">10</property> </named-config> </c3p0-config>
新建com.jpzhutech.utils.JdbcUtils.java,使得c3p0的配置文件与我将要写的工程建立联系
package com.jpzhutech.utils; import java.sql.SQLException; import javax.sql.DataSource; import org.apache.commons.dbutils.QueryRunner; import org.junit.Test; import com.mchange.v2.c3p0.ComboPooledDataSource; public class JdbcUtils { private static DataSource dataSource; static { dataSource = new ComboPooledDataSource(); } public static QueryRunner getQueryRuner(){ return new QueryRunner(dataSource); } //测试是否成功的连接数据源 @Test public void test() throws SQLException{ System.out.println(dataSource.getClass()); //不报错并返回class com.mchange.v2.c3p0.ComboPooledDataSource,说明已经成功的连接数据源 System.out.println(dataSource.getConnection().toString()); } }
在Dao接口的实现类中写入类似下面的内容,该内容与你所要实现的内容有关
package com.jpzhutech.dao.impl; import java.sql.SQLException; import org.apache.commons.dbutils.handlers.BeanHandler; import org.junit.runner.Request; import com.jpzhutech.dao.IAdminDao; import com.jpzhutech.entity.Admin; import com.jpzhutech.utils.JdbcUtils; public class AdminDao implements IAdminDao { @Override public Admin findByNameAndPwd(Admin admin) { try { //?在DButils中表示一个占位符 String sql = "select * from admin where userName=? and pwd=?"; return JdbcUtils.getQueryRuner().query(sql, new BeanHandler<Admin>(Admin.class), admin.getUserName(), //admin.getUserName()获取其用户名 admin.getPwd()); //admin.getPwd()获取其密码 } catch (SQLException e) { throw new RuntimeException(e); } } @Override public Boolean addAddmin(Admin admin) { System.out.println("将新创建的用户增加到数据库中"); // 将数据插入到数据库中 try { JdbcUtils.getQueryRuner().update( "insert into admin(id,username,pwd) values(?,?,?)", 40, admin.getUserName(), admin.getPwd()); return true; } catch (SQLException e) { System.out.println("插入到数据库中操作失败"); //应该将此信息发送到一个新的页面 return false; } } }
相关文章推荐
- c3P0结合DBUtils操作数据库
- 数据库连接池:dbcp和c3p0,以及数据库操作框架Dbutils
- 利用Jakarta Commons组件beanutils、dbutils简化JDBC数据库操作
- 采用Apache dbutils操作数据库的DAO类
- Java -- 数据库 多表操作,1对多,多对多,1对1。 基于dbutils框架
- 封装 Apache Commons 的 DbUtils 实现的数据库操作工具类
- 利用Jakarta Commons组件beanutils、dbutils简化JDBC数据库操作
- 07_数据库创建,添加c3p0操作所需的jar包,编写c3p0-config.xml文件,编写User.java,编写jdbcUtils.java实现操作数据库的模板工具类,UserDao编写,Dao
- 【SQL】JDBC之运用dbutils组件实现对数据库的增删改查等操作
- 【SQL】数据库操作组件Common Dbutils的详解
- 数据库链接池的使用,对应于多数据库(用c3p0实现Apache—DBUtils框架)
- 利用dbutils简化数据库操作
- 利用Jakarta Commons组件beanutils、dbutils简化JDBC数据库操作
- Jakarta Commons组件BeanUtils、DbUtils简化JDBC数据库操作
- 常用代码备忘录(封装 Apache Commons 的 DbUtils 实现的数据库操作工具类)-DBUtil.java
- (转)利用Jakarta Commons组件beanutils、dbutils简化JDBC数据库操作
- 用DBUtils实现对数据库的操作
- DbUtils操作数据库的用法
- 使用c3p0技术实现对数据库crud操作的自定义封装
- spring-使用配置文件完成JdbcTemplate操作数据库-c3p0