数据库连接的几种方式

1.传统方式:

public class JDBCUtils {
	private JDBCUtils(){}
	private static Connection con ;
	static{
		try{
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://localhost:3306/mybase";
			String username="root";
			String password="123";
			con = DriverManager.getConnection(url, username, password);
		}catch(Exception ex){
			throw new RuntimeException(ex+"数据库连接失败");
		}
	}
	
	/*
	 * 定义静态方法,返回数据库的连接对象
	 */
	public static Connection getConnection(){
		return con;
	}
	
	public static void close(Connection con,Statement stat){
		 
		 if(stat!=null){
			 try{
				 stat.close();
			 }catch(SQLException ex){}
		 }
		 
		 if(con!=null){
			 try{
				 con.close();
			 }catch(SQLException ex){}
		 }
		 
	}
	
	
	public static void close(Connection con,Statement stat , ResultSet rs){
		 if(rs!=null){
			 try{
				 rs.close();
			 }catch(SQLException ex){}
		 }
		 
		 if(stat!=null){
			 try{
				 stat.close();
			 }catch(SQLException ex){}
		 }
		 
		 if(con!=null){
			 try{
				 con.close();
			 }catch(SQLException ex){}
		 }
		 
	}
}
2.DBCPC连接池

public class JDBCUtils{
    //创建出BasicDataSource类对象
	private static BasicDataSource datasource = new BasicDataSource();
	
	//静态代码块,对象BasicDataSource对象中的配置,自定义
	static{
		//数据库连接信息,必须的
		datasource.setDriverClassName("com.mysql.jdbc.Driver");
		datasource.setUrl("jdbc:mysql://localhost:3306/day33_user");
		datasource.setUsername("root");
		datasource.setPassword("123");
		//对象连接池中的连接数量配置,可选的
		datasource.setInitialSize(10);//初始化的连接数
		datasource.setMaxActive(8);//最大连接数量
		datasource.setMaxIdle(5);//最大空闲数
		datasource.setMinIdle(1);//最小空闲
	}
	
	//定义静态方法,返回BasicDataSource类的对象
	public static DataSource getDataSource(){
		return datasource;
	}

3.c3p0

public class JDBCUtils {
	private static final ComboPooledDataSource DATA_SOURCE =new ComboPooledDataSource();
	/**
	 * 获得连接的方法
	 */
	public static Connection getConnection(){
		Connection conn = null;
		try {
			conn = DATA_SOURCE.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	
	public static DataSource getDataSource(){
		return DATA_SOURCE;
	}
	
}

    c3p0-config.xml配置:




  
    com.mysql.jdbc.Driver
	jdbc:mysql:///store_v2.0
	root
	123
	5
	20
  
  
   
    com.mysql.jdbc.Driver
	jdbc:mysql:///web_07
	root
	123
  
  



推荐大家使用c3p0和Druid

由于我使用Druid时,都是使用的xml配置,没有写过java的代码方式.所以就不在这里写Druid.





你可能感兴趣的:(数据库)