• JAVA-JDBC-c3p0连接池配置


      配置c3p0数据源的方式有三种,分别是手动配置,xml文件配置和properties文件配置,这三种配置方式存在一种即可。

      通常来讲,用文件配置更方便书写和阅读

    配置如下:

        注:*号部分写自己的配置

      1.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 ="jdbcUrl">jdbc:mysql://localhost:****/********</property>
    6         <property name ="user">*********</property>
    7         <property name ="password">***********</property>
    8     </default-config>
    9 </c3p0-config>

      2.c3p0.properties配置

      c3p0.driverClass=com.mysql.jdbc.Driver
      c3p0.jdbcUrl=jdbc:mysql://localhost:*****/*****
      c3p0.user=******
      c3p0.password=******

      3.手动配置及连接测试

     1 package JDBC;
     2 
     3 
     4 import java.sql.Connection;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 import java.sql.Statement;
     8 
     9 import com.mchange.v2.c3p0.ComboPooledDataSource;
    10 
    11 /**
    12  * c3p0连接池
    13  * @author Administrator
    14  *
    15  */
    16 public class C3P0 {
    17     public static void main(String[] args) {
    18         Connection conn = null;
    19         Statement stat = null;
    20         ResultSet rs = null;
    21         //创建一个c3p0数据源对象
    22         ComboPooledDataSource scoure = new ComboPooledDataSource();
    23         //利用对象读取配置信息
    24         //注释掉这段代码后会去找配置文件,存在任意一个都可以成功
    25         /*try {
    26             scoure.setDriverClass("com.mysql.jdbc.Driver");
    27             scoure.setJdbcUrl("jdbc:mysql://localhost:****/******");
    28             scoure.setUser("********");
    29             scoure.setPassword("*****");
    30         } catch (Exception e) {
    31             // TODO: handle exception
    32         }*/
    33     
    34         try {
    35             conn = scoure.getConnection();
    36             stat = conn.createStatement();
    37             rs = stat.executeQuery("select * from student");
    38             while(rs.next()){
    39                 int sno =rs.getInt("sno");
    40                 String sname = rs.getString("sname");
    41                 System.out.println("id:"+sno);
    42                 System.out.println("sname:"+sname);
    43             }
    44         } catch (SQLException e) {
    45             // TODO Auto-generated catch block
    46             e.printStackTrace();
    47         }finally{
    48             if(rs != null){
    49                 try {
    50                     rs.close();
    51                 } catch (Exception e2) {
    52                     e2.printStackTrace();
    53                 }finally{
    54                     rs = null;
    55                 }
    56             }
    57             if(stat != null){
    58                 try {
    59                     stat.close();
    60                 } catch (Exception e2) {
    61                     e2.printStackTrace();
    62                 }finally{
    63                     stat = null;
    64                 }
    65             }
    66             if(conn != null){
    67                 try {
    68                     conn.close();
    69                 } catch (Exception e2) {
    70                     e2.printStackTrace();
    71                 }finally{
    72                     conn = null;
    73                 }
    74             }
    75         }
    76         
    77     }
    78 }

    测试结果:

      

     

  • 相关阅读:
    使用shape来定义控件的一些显示属性
    Button颜色选择器进阶
    android用于打开各种文件的intent
    虚拟机操作
    二维码生成与读取
    input框只能输入整数
    实现FF背景透明,文字不透明
    打日志
    多选框
    时间戳
  • 原文地址:https://www.cnblogs.com/xiaoluohao/p/11656432.html
Copyright © 2020-2023  润新知