• java数据源的几种配置


    Java中的数据源就是javax.sql.DataSourceDataSource的创建可以有不同的实现。

     

    JNDI方式创建DataSource

        JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置。其配置如下:

        <Context>

    ……

       <!-- MySql -->

       <Resource name="jdbc/NutzDemo" auth="Container"

               type="javax.sql.DataSource"maxActive="100" maxIdle="30"

               maxWait="10000"username="root" password="root"

               driverClassName="com.mysql.jdbc.Driver"

               url="jdbc:mysql://localhost:3306/cheng"/>

        ……

    </Context>

    然后,在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作。代码如下:

        // 初始化JNDI上下文,创建DataSource对象

        Context initContext = new InitialContext();

        Context context = (Context)initContext.lookup("java:comp/env");

               DataSourcedataSource =  (DataSource)context.lookup("jdbc/NutzDemo");

     

     

    Apache提供的简单连接池创建数据源

    以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar  commons-pool.jar

    以这种方式创建的数据源就不再是javax.sql.DataSourceDataSource了,而是org.apache.commons.dbcp.BasicDataSource。而且不再需要配置任何文件就可以直接使用。代码如下:

    // 创建BasicDataSource对象

        BasicDataSource ds = new BasicDataSource();

        ds.setDriverClassName("com.mysql.jdbc.Driver");

        ds.setUrl("jdbc:mysql://localhost:3306/cheng");

        ds.setUsername("root");

        ds.setPassword("root");

        ds.setInitialSize(50);

        ds.setMaxActive(100);

        ds.setMaxIdle(30);

        ds.setMaxWait(10000);

       

        // 关闭数据源连接

    ds.close();

     

    C3P0方式创建数据源

        使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到web/lib目录下,就可以在项目中使用C3P0创建数据源,C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource,代码如下:

        // 创建ComboPooledDataSource对象

        ComboPooledDataSource ds = new ComboPooledDataSource();

        ds.setDriverClass("com.mysql.jdbc.Driver");

        ds.setJdbcUrl("jdbc:mysql://localhost:3306/cheng");

        ds.setUser("root");

        ds.setPassword("root");

        ds.setInitialPoolSize(50);

        ds.setMaxPoolSize(100);

        ds.setMaxIdleTime(10000);

     

    Proxool方式创建数据源

        应该准备的jar文件为:proxool-01.9.0RC3.jar,之后在项目中创建ProxoolDataSource对象,其代码如下:

        // 创建ProxoolDataSource对象

        ProxoolDataSource ds = new ProxoolDataSource();

        ds.setDriver("com.mysql.jdbc.Driver");

        ds.setDriverUrl("jdbc:mysql://localhost:3306/cheng");

        ds.setUser("root");

        ds.setPassword("root");

     

    BoneCP方式创建数据源

        BoneCP是一个快速高效,开源免费的Java数据库接池。

    创作者称,BoneCP在性能上会完全超越所有主流的Java连接池。它可以帮你管理数据连接,让你的应用程序能更快速地访问数据库。比C3P0/DBCP(DataBaseconnection pool,数据库连接池)连接池快25倍。这个数据库连接池采用Google Collection作为内部的集合类框架,而且现在的版本已经很稳定。

    要使用BoneCP,必须用到的jar文件有:

    · bonecp-0.6.5.jar

    · google-collections-1.0.jar

    · slf4j-api-1.5.11.jar

    · slf4j-log4j12-1.5.11.jar

    ·log4j-1.2.15.jar

    在程序中创建BoneCPDataSource对象,代码如下:

    // 创建BoneCPDataSource对象

        BoneCPDataSource ds = new BoneCPDataSource();

        ds.setDriverClass("com.mysql.jdbc.Driver");

        ds.setJdbcUrl("jdbc:mysql://localhost:3306/cheng");

        ds.setUsername("root");

        ds.setPassword("root");

        ds.setAcquireIncrement(1);

        ds.setAcquireRetryDelay(10000);

        ds.setIdleConnectionTestPeriod(100);

    ds.setMinConnectionsPerPartition(2);

        ds.setMaxConnectionsPerPartition(20);

    ds.setPartitionCount(2);

    原文地址:http://www.cnblogs.com/yl2755/archive/2012/05/06/2486760.html

    常用数据库JDBC连接写法

    1. MySQL(http://www.mysql.com)mysql-connector-java-2.0.14-bin.jar 
    Class.forName( "org.gjt.mm.mysql.Driver" ); 
    cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd ); 

    2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar 
    Class.forName( "org.postgresql.Driver" ); 
    cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd ); 

    3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip 
    Class.forName( "oracle.jdbc.driver.OracleDriver" ); 
    cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ); 

    4. Sybase(http://jtds.sourceforge.net)jconn2.jar 
    Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" ); 
    cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd ); 
    //(Default-Username/Password: "dba"/"sql") 

    5. Microsoft SQLServer(http://jtds.sourceforge.net) 
    Class.forName( "net.sourceforge.jtds.jdbc.Driver" ); 
    cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd ); 

    6. Microsoft SQLServer(http://www.microsoft.com) 
    Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ); 
    cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd ); 

    7. ODBC 
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
    Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd ); 

    8.DB2 
    Class.forName("com.ibm.db2.jdbc.net.DB2Driver"); 
    String url="jdbc:db2://192.9.200.108:6789/SAMPLE" 
    cn = DriverManager.getConnection( url, sUsr, sPwd );

  • 相关阅读:
    Memcached笔记——(三)Memcached使用总结
    Memcached笔记——(二)XMemcached&Spring集成
    Memcached笔记——(一)安装&常规错误&监控
    【开源专访】Fourinone创始人彭渊:打造多合一的分布式并行计算框架
    memcached&redis性能测试
    Memcached哈希性能优化(八)——总结报告
    Memcached客户端性能评测报告
    利用websocket实现android消息推送
    Web 通信 之 长连接、长轮询(long polling)
    一个IP能建立的最大连接数是多少?
  • 原文地址:https://www.cnblogs.com/blogsme/p/2807265.html
Copyright © 2020-2023  润新知