栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java(十四) —— JDBC(四)数据库连接池技术-Druid、DBUtils类相应操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java(十四) —— JDBC(四)数据库连接池技术-Druid、DBUtils类相应操作

1.Druid连接池
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.junit.Test;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;


public class DruidTest {
    @Test
    public void getConnection() throws Exception {
        Properties pros = new Properties();
        InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
        pros.load(is);
        DataSource source = DruidDataSourceFactory.createDataSource(pros);
        Connection conn = source.getConnection();
        System.out.println(conn);
    }
}

properties:在src目录下

url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
username=root
password=abc123
driverClassName=com.mysql.jdbc.Driver

initialSize=10
maxActive=10
2.DBUtils类相应操作
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.Test;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;


public class JDBCUtil {
    //测试添加
    @Test
    public void testInsert() {
        Connection connection = null;
        try {
            //1.获取连接
            connection = DBUtil.getConnection();
            //2.操作对象
            QueryRunner queryRunner = new QueryRunner();
            String sql = "insert into customers(name,email,birth) values(?,?,?)";
            queryRunner.update(connection, sql, "汤姆", "tom@163.com", "1994-08-07");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.closeResource(connection, null);
        }

    }

    //测试查询
    @Test
    public void testQueryOne() {
        Connection connection = null;
        try {
            //1.获取连接
            connection = DBUtil.getConnection();
            //2.操作对象
            QueryRunner queryRunner = new QueryRunner();
            String sql = "select id,name,email,birth from customers where id =?";
            BeanHandler customerBeanHandler = new BeanHandler(Customer.class);
            Customer query = queryRunner.query(connection, sql, customerBeanHandler, 3);
            System.out.println(query.toString());
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.closeResource(connection, null);
        }

    }

    //测试多条数据查询
    @Test
    public void testQueryMany() {
        Connection connection = null;
        try {
            //1.获取连接
            connection = DBUtil.getConnection();
            //2.操作对象
            QueryRunner queryRunner = new QueryRunner();
            String sql = "select id,name,email,birth from customers where id >?";
            BeanListHandler customerBeanListHandler = new BeanListHandler(Customer.class);
            List query = queryRunner.query(connection, sql, customerBeanListHandler, 7);
            query.forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.closeResource(connection, null);
        }

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号