JdbcUtil类:

  1. package com.xiaohui.jdbc.util;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import javax.sql.DataSource;
  7. import com.mchange.v2.c3p0.ComboPooledDataSource;
  8. public final class JdbcUtil {
  9. private static ComboPooledDataSource dataSource;
  10. static {
  11. dataSource = new ComboPooledDataSource();
  12. }
  13. // 取得链接
  14. public static Connection getMySqlConnection() throws SQLException {
  15. return dataSource.getConnection();
  16. }
  17. //
  18. public static DataSource getDataSource(){
  19. return dataSource;
  20. }
  21. // 关闭链接
  22. public static void close(Connection conn) throws SQLException {
  23. if (conn != null) {
  24. try {
  25. conn.close();
  26. } catch (SQLException e) {
  27. e.printStackTrace();
  28. throw e;
  29. }
  30. }
  31. }
  32. public static void close(PreparedStatement pstate) throws SQLException {
  33. if(pstate!=null){
  34. pstate.close();
  35. }
  36. }
  37. public static void close(ResultSet rs) throws SQLException {
  38. if(rs!=null){
  39. rs.close();
  40. }
  41. }
  42. }

c3p0-config.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <c3p0-config>
  3. <default-config>
  4. <property name="driverClass">com.mysql.jdbc.Driver</property>
  5. <property name="user">root</property>
  6. <property name="password">root</property>
  7. <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/mysql4</property>
  8. </default-config>
  9. </c3p0-config>

分页的一个dao:

  1. package com.xiaohui.cusSys.dao;
  2. import java.sql.SQLException;
  3. import java.util.List;
  4. import org.apache.commons.dbutils.QueryRunner;
  5. import org.apache.commons.dbutils.handlers.BeanHandler;
  6. import org.apache.commons.dbutils.handlers.BeanListHandler;
  7. import org.apache.commons.dbutils.handlers.ScalarHandler;
  8. import com.xiaohui.cusSys.domain.Customer;
  9. import com.xiaohui.cusSys.util.JdbcUtil;
  10. public class Dao {
  11. private QueryRunner qr = new QueryRunner(JdbcUtil.getDataSource());
  12. // 根据id返回 Customer 对象
  13. public Customer getCustomerById(int id) throws SQLException {
  14. String sql = "select * from customer where id = ?";
  15. Customer cus = (Customer) qr.query(sql,
  16. new BeanHandler(Customer.class), id);
  17. return cus;
  18. }
  19. // 分页返回
  20. public List<Customer> getFyList(int start, int size) throws SQLException {
  21. List<Customer> list = null;
  22. String sql = "select * from customer limit ?,?";
  23. list = qr.query(sql, new BeanListHandler(Customer.class), new Object[] {
  24. start, size });
  25. return list;
  26. }
  27. // 返回记录的总数目
  28. public int getAllRecordsCount() throws SQLException {
  29. String sql = "select count(*) from customer";
  30. Long temp = qr.query(sql, new ScalarHandler());
  31. return temp.intValue();
  32. }
  33. // 根据ID删除指定的记录
  34. public void deleteRecordById(int id) throws SQLException {
  35. String sql = "delete from customer where id = ?";
  36. qr.update(sql, id);
  37. }
  38. // 根据id更新记录信息
  39. public void updateRecordById(Customer newCus) throws SQLException {
  40. String sql = "update customer set name= ?,address= ?,tel= ?,mail= ?,birthday= ? where id= ?";
  41. qr.update(
  42. sql,
  43. new Object[] { newCus.getName(), newCus.getAddress(),
  44. newCus.getTel(), newCus.getMail(),
  45. newCus.getBirthday(), newCus.getId() });
  46. }
  47. // 添加记录
  48. public void addRecord(Customer newCus) throws SQLException {
  49. String sql = "insert into customer(name,address,tel,mail,birthday) values(?,?,?,?,?)";
  50. qr.update(sql, new Object[] { newCus.getName(), newCus.getAddress(),
  51. newCus.getTel(), newCus.getMail(),
  52. // //将java.util.Date 转换为 java.sql.Date
  53. // new java.sql.Date( newCus.getBirthday().getTime())
  54. newCus.getBirthday() });
  55. }
  56. }

jar文件:c3p0-0.9.1.2.jar (关键)  mysql-connector-java-5.1.22-bin.jar(关键) 在dao中 使用到commons-dbutils-1.5.jar

 

JDBC链接数据库版本三,使用C3P0,使用jar文件两个的更多相关文章

  1. jdbc链接数据库的三种方式

    /** * jdbc连接数据库 * @author APPle * */ public class Demo1 { //连接数据库的URL private String url = "jdb ...

  2. 4、原生jdbc链接数据库常用资源名

    原生jdbc链接数据库要素:#MySql:String url="jdbc:mysql://localhost:3306/数据库名";String name="root& ...

  3. jdbc链接数据库,获取表名,字段名和数据

    import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import  ...

  4. 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件

    原文:分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件 import java.util.zip.*; import java.io.*; public class Zip ...

  5. JDBC操作数据库的三种方式比较

    JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...

  6. JDBC链接数据库步骤

    java中定义链接数据库的标准:JDBC 1.导包:不同数据库有不同的jdbc驱动包,而且jdbc驱动包和数据库版本必须对应 2.测试 3.写代码 try { 1.//加载JDBC驱动    Clas ...

  7. jdbc链接数据库

    JDBC简介 JDBC全称为:Java Data Base Connectivity (java数据库连接),可以为多种数据库提供填统一的访问.JDBC是sun开发的一套数据库访问编程接口,是一种SQ ...

  8. Java JDBC链接数据库

     1.注册驱动Class.forname("com.mysql.jdbc.Driver");//这是连接mysql数据库的驱动2.获取数据库连接java.sql.Connectio ...

  9. 1019 JDBC链接数据库进行修删改查

    package com.liu.test01; import java.sql.Statement; import java.sql.Connection; import java.sql.Drive ...

随机推荐

  1. [Java基础] System.arraycopy使用

    转载自:http://blog.csdn.net/java2000_net/article/details/4059465 System提供了一个native 静态方法arraycopy(),我们可以 ...

  2. Fresco 源码分析(三) Fresco服务端处理(1) ImagePipeline为何物

    4.3 服务端的处理 备注: 因为是分析,而不是设计,所以很多知识我们类似于插叙的方式叙述,就是用到了哪个知识点,我们再提及相关的知识点,如果分析到了最后,我想想是不是应该将这个架构按照设计的方式,重 ...

  3. kvm虚似机监控

    [root@ok Desktop]# yum install virt-top [root@ok Desktop]# virt-top virt-top 22:53:44 - x86_64 4/4CP ...

  4. CI当开启URL重写的时候,报错500 Internal Server Error

    Internal Server Error The server encountered an internal error or misconfiguration and was unable to ...

  5. CodeChef DISTNUM2 Easy Queries 节点数组线段树

    Description You are given an array A consisting of N positive integers. You have to answer Q queries ...

  6. 普通SQL语句可以用Exec执行

    例如存储过名为:myprocedure use AdventureWorks create procedure myprocedure @city varchar(20) as begin selec ...

  7. Tomcat中的webapps中的web应用的文件结构

    可仿造Tomcat中的webapps下的已有web应用的例子 具体文件结构如下:

  8. 【HTML5】Server-Sent服务器发送事件

    Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能 ...

  9. Android loading进度条使用简单总结

    在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先 ...

  10. CodeForces 304C

    E - E Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...