Java连接数据库的两种模式

本文展示了Java中连接数据库的两种模式:直接连接和使用连接池(如Apache DBCP)。在直接连接模式下,代码通过`DriverManager.getConnection()`创建连接,而在连接池模式下,利用预先配置好的`BasicDataSource`获取连接。这两种方式在实际应用中有不同的性能和资源管理效果。

package com.main;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.commons.dbcp.BasicDataSource;

public class Test_main {

    static BasicDataSource basic;   //链接池对象
    static
    {
     basic = new BasicDataSource();
       
     
     
        // 设置连接池链接数据库的驱动
  basic.setDriverClassName("com.mysql.jdbc.Driver");
  // 设置连接池链接数据库的url
  basic.setUrl("jdbc:mysql://localhost:3306/user_sys");
  // 设置连接池链接数据库的username
  basic.setUsername("root");
  // 设置连接池链接数据库的paaa
  basic.setPassword("123456");

  
  
  // 设置连接池的最大链接数
  basic.setMaxActive(30);
  // 设置连接池的初始化链接个数
  basic.setInitialSize(10);
  // 设置连接池最小空闲数
  basic.setMinIdle(8);
  // 等待时间
  basic.setMaxWait(2000);

    }
 public static void main(String[] args) {
  
                Connection con = null;
                con = getConnection_mode1();
                System.out.println(con);
                con = getConnection_mode2();
                System.out.println(con);
 }
 //直接产生数据库的链接
 protected static Connection getConnection_mode1()
 {
  Connection conn =null;
  try {
             // 加载数据库驱动
   Class.forName("com.mysql.jdbc.Driver");
   try {
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user_sys", "root", "123456");
   } catch (SQLException e) {
    e.printStackTrace();
   }
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
  
  return conn;
 }
 //链接池方式获取数据库链接
    protected static Connection getConnection_mode2()
    {
     Connection conn =null;
     
  try {
   conn = basic.getConnection();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
  return conn;
    }
}

 

注意:Java使用数据库前要加载相关数据库驱动;若使用连接池方式,需要生成连接池对象;上文以MySql数据库为例编写的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值