连接池简介
连接池是一种管理连接的技术。
用连接池来管理Connection,可以重复使用连接。有了连接池,我们就不用自己来创建Connection,而是通过池来获取Connection对象。当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection归还给池。连接池就可以再利用这个Connection对象了。
Druid连接池(德鲁伊)
入门示例
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import java.sql.SQLException;
public class Test1 {
public static void main(String[] args) throws SQLException {
//创建Druid连接池对象
DruidDataSource dataSource = new DruidDataSource();
//为Druid连接池设置参数
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/mydbjdbc?useSSL=false");
dataSource.setUsername("root");
dataSource.setPassword("root");
//初始化连接数量
dataSource.setInitialSize(10);
//最大连接数量
dataSource.setMaxActive(100);
//最小空闲连接
dataSource.setMinIdle(5);
//从连接池中获取连接
Connection connection = dataSource.getConnection();
//打印连接
System.out.println(connection);
//归还连接
connection.close();
}
}
可以将数据库连接池封装成工具类
三层架构
表示层: 和用户交互
业务逻辑层: 处理业务逻辑,控制事务
数据访问层:操作数据
开发流程: 1 建库建表
2建实体类
3数据访问层 (Dao、Mapper)
4业务逻辑层
5表示层
三层架构项目搭建(按开发步骤)
- utils包存放工具类(JdbcUtils)
- entity包存放实体类(Telephone)
- dao包存放Dao接口(TelephoneDao)
- impl存放DAO接口实现类(TelephoneDaoImpl)
- service存放Service接口(TelephoneService)
- impl存放Service接口实现类(TelephoneServiceImpl)
- view 存放程序启动类(main)