Java EE开发第六章:JDBC开发之DBCP连接池的使用

前言:连接池管理数据库的连接,作用就是提高项目的性能。就是在连接池初始化的时候存入一定数量的连接,用的时候通过方法获取,不用的时候归还连接即可。常用的连接池是DBCP和C3P0,这一章节我们先来认识一下DBCP连接池的用法。

--------使用步骤------

1.导入jar包(commons-dbcp-1.4.jar和commons-pool-1.5.6.jar)(请自行百度下载)


2.使用api

a.硬编码

//创建连接池
BasicDataSource ds = new BasicDataSource();
					
//配置信息
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql:///day07");
ds.setUsername("root");
ds.setPassword("1234");

b.配置文件

实现编写一个properties文件
//存放配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/dbcp.properties"));
//设置
//prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");
					
//创建连接池
DataSource ds = new BasicDataSourceFactory().createDataSource(prop);
------ 代码实现Demo----

1、硬解码添加数据(数据库使用的是《Java EE开发第四章:JDBC的基本使用》):

	@Test
	//硬编码
	public void f1() throws Exception{
		//创建连接池
		BasicDataSource ds = new BasicDataSource();
		
		//配置信息
		ds.setDriverClassName("com.mysql.jdbc.Driver");
		ds.setUrl("jdbc:mysql:///day07");
		ds.setUsername("root");
		ds.setPassword("123");
		
		Connection conn=ds.getConnection();
		String sql="insert into category values(?,?);";
		PreparedStatement st=conn.prepareStatement(sql);
		
		//设置参数
		st.setString(1, "c0191");
		st.setString(2, "饮p料");
		
		int i = st.executeUpdate();
		System.out.println(i);
		//JdbcUtils.closeResource(conn, st, null);
	}

2、文件配置添加数据:


	@Test
	public void f2() throws Exception{
		//存放配置文件
		Properties prop = new Properties();
		prop.load(new FileInputStream("src/dbcp.properties"));
		//设置
		//prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");
		
		//创建连接池
		DataSource ds = new BasicDataSourceFactory().createDataSource(prop);
		
		Connection conn=ds.getConnection();
		String sql="insert into category values(?,?);";
		PreparedStatement st=conn.prepareStatement(sql);
		
		//设置参数
		st.setString(1, "c012");
		st.setString(2, "饮料1");
		
		int i = st.executeUpdate();
		System.out.println(i);
		//JdbcUtils.closeResource(conn, st, null);
	}
-----完------


发布了105 篇原创文章 · 获赞 74 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_32306361/article/details/78028620
今日推荐