使用Druid数据库连接池来连接数据库及如何使用

Druid为监控而生的数据库连接池,它是阿里巴巴开源平台上的一个项目。Druid是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能.它可以替换DBCP和C3P0连接池。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

步骤:

1. 导入druid的相关jar包
2. 定义和加载配置文件 文件形式:名称.properties(可放到任意目录下),格式
如下

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///information        //这里的informatiom即对于的数据库
username=root		//用户名和密码为自己设置的
password=root
initialSize=5
maxActive=10
maxWait=3000	

3. 获取数据库连接池对象:通过工厂来获取 DruidDataSourceFactory
4. 获取连接:getConnection

**代码**
 //加载配置文件
	        Properties pro = new Properties();
	        InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
	        pro.load(is);
	        //获取连接池对象
	        DataSource ds = DruidDataSourceFactory.createDataSource(pro);
	        /.获取连接
	        Connection conn = ds.getConnection();

在上面的步骤中,我们可以创建一个工具类JDBCUtil.java来简单实现

/*
	1. 声明静态数据源成员变量
	2. 创建连接池对象
	3. 定义公有的得到数据源的方法
	4. 定义得到连接对象的方法
	5. 定义关闭资源的方法
 */
public class JDBCUtils {
	// 1.	声明静态数据源成员变量
	private static DataSource ds;

	// 2. 创建连接池对象
	static {
		// 加载配置文件中的数据
		InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
		Properties pp = new Properties();
		try {
			pp.load(is);
			// 创建连接池,使用配置文件中的参数
			ds = DruidDataSourceFactory.createDataSource(pp);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 3. 定义公有的得到数据源的方法
	public static DataSource getDataSource() {
		return ds;
	}

	// 4. 定义得到连接对象的方法
	public static Connection getConnection() throws SQLException {
		return ds.getConnection();
	}

	// 5.定义关闭资源的方法
	public static void close(Connection conn, Statement stmt, ResultSet rs) {
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {}
		}

		if (stmt != null) {
			try {
				stmt.close();
			} catch (SQLException e) {}
		}

		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {}
		}
	}

	// 6.重载关闭方法
	public static void close(Connection conn, Statement stmt) {
		close(conn, stmt, null);
	}
}

至此,便实现了将druid来连接数据库的操作了,接下来的使用便十分简单,通过使用Spring框架提供的JDBCTemplate对象简化JDBC的开发来进行操作。

只需在开头初始化JdbcTemplate,便可应用其对应的方法来实现数据库的增删改查的一些操作。

private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());

调用JdbcTemplate的方法来完成CRUD的操作
* update():执行DML语句。增、删、改语句
* queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合
* 注意:这个方法查询的结果集长度只能是1
* queryForList():查询结果将结果集封装为list集合
* 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
* query():查询结果,将结果封装为JavaBean对象
* query的参数:RowMapper
* 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
* new BeanPropertyRowMapper<类型>(类型.class)
* queryForObject:查询结果,将结果封装为对象
* 一般用于聚合函数的查询

你可能感兴趣的:(MySQL基础知识)