JAVA数据库的连接与操作

第一次去一家自己十分想去的公司面试,那时候面试官问了我一些关于JDBC的内容,我一下子无法答上来,然后从此就错过了那一家公司。毫无疑问,操作数据库对于一个软件和网站来说都是非常重要的,所以,为了更加系统地学习这方面的内容,趁着平时有空,对数据库方面的一些内容进行了练习。

  • 连接数据库的几种方法
    1、在平时使用的较多的也是比较常见的是原生的DriverManager的连接,示例如下:
public Connection getConn(){
        public String url = "jdbc:mysql://localhost:3306/test";
        public String user ="root";
        public String pwd = "root";
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url, user, pwd);
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }

2、使用JNDI连接池
1)在服务器tomcat中的context.xml配置数据库的信息,配置内容如下:

<Resource name="test" 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/test"/>

2)在java代码中获取Connection对象

public Connection getJNDI(){
        public Connection conn = null;
        try{
            Context cxt = new InitialContext();
            DataSource ds = (DataSource)cxt.lookup("java:/comp/env/test");
            conn = ds.getConnection();
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }

3、使用第三方的连接池c3p0
1)导入两个包:c3p0.jar和mchange-commons-java.jar下载地址
2)在src目录下,添加c3p0-config.xml配置内容,如下:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
  <named-config name="c3p0conn"> 
    <property name="user">root</property>
    <property name="password">root</property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
    <property name="acquireIncrement">5</property>
    <property name="initialPoolSize">10</property>
    <property name="minPoolSize">10</property>
    <property name="maxPoolSize">50</property>
    <property name="maxStatements">20</property> 
    <property name="maxStatementsPerConnection">5</property>
  </named-config>
</c3p0-config>

3)在java中的代码如下:

public Connection getC3p0(){
        public Connection conn = null;
        ComboPooledDataSource dataSource= new ComboPooledDataSource("c3p0conn");
        try{
            conn = dataSource.getConnection();
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值