dbutils连接mysql_druid连接池与DButils操作mysql数据库

Druid是什么?

druid德鲁伊是阿里开源的一个连接池,是国内性能最高的连接池。源码地址:

https://github.com/alibaba/druid

DButils是什么?

dbutils是一个jdbc的工具,主要用来简化jdbc的代码。源码地址:

http://commons.apache.org/proper/commons-dbutils/

druid连接池工具抽取:

下载jar包:druid-1.0.26.jar,这里使用1.0.26为例子!

下载DButils的jar包:commons-dbutils-1.6.jar,这里使用1.6版本为例子!

创建配置文件:driver.properties

​driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/test

username=root

password=root

创建工具类DruidUtil类

public class DriverUtil{

private static String driverClassName;

private static String url;

private static String username;

private static String password;

public static DataSource dataSource;

InputStream input = null;

static{

try{

input = DriverUtil.class.getClassLoader().getResourceAsStream("druid.properties");

Properties properties = new Properties();

properties.load(input);

//创建连接池

dataSource = DruidDataSourceFactory.createDateDataSource(properties);

} catch (Exception e){

e.printStackTrace();

}

}

//获取dataSource数据源

public static DataSource getDataSource(){

return dataSource;

}

//获取connection连接

public static Connection getConnection(){

Connection connection = dataSource.getConnection();

return connection;

}

//关闭连接(将数据源还给连接池)

public static void close(ResultSet resultSet,Statement statement,Connection connection){

if(resultSet != null){

resultSet = null;

}

if(statement != null){

statement = null;

}

if(connection != null){

connection = null;

}

}

}

测试查询所有数据:

public class DruidTest{

@Test

public void select(){

QueryRunner qr = new QueryRunner(DruidUtil.getDataSource());

String sql = "select * from user";

Listusers = qr.query(sql,new BeanListHandler(User.class));

for(User user : users){

System.out.println(user);

}

}

}

DbUtil有三个功能:

QueryRunner中提供对sql语句操作的API.

ResultSetHandler接口,用于定义select操作后,怎么封装结果集。

DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法。

QueryRunner核心类介绍

1.提供数据源

构造方法:QueryRunner(DataSource)创建核心类,并提供数据源,内部自己维护Connection

普通方法:

1.update(String sql,Object ...params)执行DML语句

2.query(String sql,ResultSetHandler,Object ...parames)执行DQL语句,并将查询结果封装到对象中。

2.提供连接

沟通方法:QueryRunner(),创建核心类,没有提供数据源,在进行具体操作时,需要手动提供Connection

普通方法:

1.update(Connection connection,String sql,Object ...params)使用提供Connection,完成DML语句。

2.query(Connection connection,String sql,ResultSetHandler,Object ...params)使用提供的Connection,执行DQL.

DbUtils常用的类与方法:

DBUtils常用类与方法

- QueryRunner构造方法

- QueryRunner(DataSource) 创建核心类,并提供数据源,内部自己维护Connection

- QueryRunner() 创建核心类,没有提供数据源,在进行具体操作时,需要手动提供Connection

- QueryRunner 用来执行SQL语句对象

- update(String sql , Object ... params) 执行DML语句

- update(Connection conn, String sql, Object… params)插入表记录、更新表记录、删除表记录

- query(String sql , ResultSetHandler , Object ... params) 执行DQL语句,并将查询结果封装到对象中。

- query(Connection conn, String sql, ResultSetHandler handler, Object… params) 查询表记录

- ResultSetHandler 处理结果集的对象

- BeanHandler:将结果集中第一条记录封装到一个指定的javaBean中。

- BeanHandler(Product.class) --> Proudct

- BeanListHandler:将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中

- BeanListHandler(Product.class) --> List- ScalarHandler:它是用于单数据。例如select count(*) from 表操作。

- ScalarHandler() --> Long

- ColumnListHandler:将结果集中指定的列的字段值,封装到一个List集合中

- ColumnListHandler("pname") --> List

你可能感兴趣的:(dbutils连接mysql)