zoukankan      html  css  js  c++  java
  • c3p0连接数据库的3种方式

    c3p0连接数据库的3种方式,这里以mysql为例

    1. 直接用set方法设置参数, 基本方法

    ComboPooledDataSource dataSource = new ComboPooledDataSource();
    dataSource.setDriverClass("com.mysql.jdbc.Driver");
    dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
    dataSource.setUser("root");
    dataSource.setPassword("asd");

    调用的时候只需要在QueryRunner的构造方法里引用dataSource(以dbutils为例), 就像这样:

     QueryRunner qr = new QueryRunner(dataSource); 


    当然也可以用dataSource获取一个连接, 像这样:

       Connection conn = dataSource.getConnection(); 

      然后查询的时候调用QueryRunner的无参构造函数, 像这样:

      QueryRunner qr = new QueryRunner();

      然后在调用查询方法时, 传入连接对象就可以了, 像这样:

      User user = qr.query(conn, sql, new BeanHandler<User>(User.class));

    2. 采用xml配置文件的方式, 程序会自动寻找配置文件
      xml的文件名固定为c3p0-config.xml
      文件在classpath路径下,即src下, 就是类的加载路径
      里面的基本配置如下

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
        <default-config>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/数据库名</property>
            <property name="user">root</property>
            <property name="password">asd</property>
        </default-config>
    
        <named-config name="mysql">
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/数据库名</property>
            <property name="user">root</property>
            <property name="password">asd</property>
        </named-config>
    
        <named-config name="oracle">
            ……
        </named-config>
    </c3p0-config>

    如果只有<default-config>则这样初始化数据源:
     ComboPooledDataSource dataSource = new ComboPooledDataSource(); 
    如果初始化指定名称的数据源如mysql, 则这样:
     ComboPooledDataSource dataSource = new ComboPooledDataSource("mysql"); 

     

    3. 采用.porperties属性文件的方式
      固定文件名:c3p0.properties
      文件在classpath路径下,即src下, 就是类的加载路径

    里面的配置如下

    c3p0.driverClass=com.mysql.jdbc.Driver
    c3p0.jdbcUrl=jdbc:mysql://localhost:3306/数据库名
    c3p0.user=root
    c3p0.password=asd

    初始化数据源:

     ComboPooledDataSource dataSource = new ComboPooledDataSource(); 

     

    dbutils的基本使用请参看我另一篇随笔:dbutils基本使用

    唯一激励你前行的是你的心
  • 相关阅读:
    Codeforces 1291 Round #616 (Div. 2) B
    总结
    刷新DNS解析缓存+追踪+域名解析命令
    数学--数论--Hdu 5793 A Boring Question (打表+逆元)
    Lucene.net(4.8.0) 学习问题记录六:Lucene 的索引系统和搜索过程分析
    LeetCode 117 Populating Next Right Pointers in Each Node II
    LeetCode 116 Populating Next Right Pointers in Each Node
    test test
    LeetCode 115 Distinct Subsequences
    LeetCode 114. Flatten Binary Tree to Linked List
  • 原文地址:https://www.cnblogs.com/pdzbokey/p/6085086.html
Copyright © 2011-2022 走看看