Spring学习笔记(八):数据库连接池的小例子
2015-09-09 09:12
603 查看
附图
1、
2、
3、下面是某教学上的小例子:
4、
1、
2、
3、下面是某教学上的小例子:
编写一个基本的连接池,来实现连接的复用;思路: 1)在内存中创建一个集合,包含多条连接 2)获取连接时,直接从集合中获取集合对象 3)关闭连接时,将不用的集合对象再放入集合中 4)遵循先入先出的原则 public class MyDataSource { static { try { Class.forName("com.mysql.jdbc.Driver"); } catch(classNotFoundException e) { throw new ExceptionInitializerError(e); } } private static String url="jdbc:mysql://localhost:3306/test"; private static String user="root"; private static String password="root"; private LinkedList<Connection> pool=new LinkedList<Connection>(); public MyDataSource() { try { for(int i=0;i<10;i++) pool.addLast(this.createConnection()); } catch(SQLException e) { throw new ExceptionInitializerError(e); } } public Connection getConnection() { return pool.removeFirst(); } public void closeConnection(Connection conn) { pool.addLast(conn); } public Connection createConnection() { return DriverManager.getConnection(url,user,password); } } public class MyDataSourceExperiment { public static void main(String[] args) { MyDataSource ds=new MyDataSource(); //取10个连接,看看是否是同一个连接 for(int i=0;i<10;i++) { Connection conn=ds.getConnection(); System.out.println(conn); ds.close(conn);//关闭连接 } } }
4、
相关文章推荐
- Java第四周常用类与集合框架之接口+抽象类9-9
- java.lang.NoClassDefFoundError: javax/mail/*
- 浅谈java实现重载的方法
- Spring中@Autowired注解、@Resource注解的区别 .
- Spring中@Autowired注解、@Resource注解的区别 .
- 举例讲解Java中数组和字符串类型的使用方法
- Java Switch(String)
- 为什么JAVA只允许单继承
- javaweb -- 获取请求IP(附实现源码)
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
- Spring aop学习详解
- JAVA高并发学习笔记(四) 无锁
- java 工厂的变形模拟的各种应用
- struts2值传递方法
- spring配置详解
- struts.xml
- 平时常用的一些java方法,请留意
- java简单的计算器类
- eclipse快捷键以及使用技巧大全
- java自带线程池和队列详细讲解