博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC连接mysql
阅读量:5461 次
发布时间:2019-06-15

本文共 2383 字,大约阅读时间需要 7 分钟。

1.properties 配置文件

driver=com.mysql.jdbc.Driver#urlurl=jdbc:mysql://localhost:3306/pabitel#useruser=root#passwordpassword=493656696

 

 

2.建一个用来获取连接的类

1 public class DBHelper { 2     private DBHelper(){} 3     private static String url; 4     private static String driver; 5     private static String user; 6     private static String pwd; 7     private static ThreadLocal
tl=new ThreadLocal
(); 8 static{ 9 try {10 Properties prop=new Properties();11 InputStream is=DBHelper.class.getClassLoader().getResourceAsStream("properties.properties");12 prop.load(is);13 driver=prop.getProperty("driver");14 user=prop.getProperty("user");15 pwd=prop.getProperty("password");16 url=prop.getProperty("url");17 Class.forName(driver);18 } catch (Exception e) {19 e.printStackTrace();20 throw new RuntimeException(e);21 }22 }23 public static Connection getConnection() throws SQLException{24 Connection conn=DriverManager.getConnection(url,user,pwd);25 tl.set(conn);26 return conn;27 }28 public static void closeConnection(){29 Connection conn=tl.get();30 if(conn!=null){31 try {32 conn.close();33 } catch (SQLException e) {34 // TODO Auto-generated catch block35 e.printStackTrace();36 }37 tl.remove();38 }39 }40 }

 

3.threadlocal的使用

其类似于map,key-value组合,key为线程,value为connection

4.线程池的使用

定义线程池private static BasicDataSource ds;

后续在静态块中设置如下参数

1        ds=new BasicDataSource(); 3             ds.setDriverClassName(prop.getProperty("driver")); 4             ds.setUrl(prop.getProperty("url")); 5             ds.setUsername(prop.getProperty("user")); 6             ds.setPassword(prop.getProperty("psw")); 7             ds.setInitialSize(Integer.parseInt(prop.getProperty("initsize"))); 8             ds.setMaxActive(Integer.parseInt(prop.getProperty("maxactive"))); 9             ds.setMaxWait(Integer.parseInt(prop.getProperty("maxwait")));10             ds.setMinIdle(Integer.parseInt(prop.getProperty("minidle")));11             ds.setMaxIdle(Integer.parseInt(prop.getProperty("maxidle")));

即可用线程池来获取连接。

 

转载于:https://www.cnblogs.com/pabitel/p/5027851.html

你可能感兴趣的文章
【BZOJ1803】Spoj1487 Query on a tree III 主席树+DFS序
查看>>
jQuery 遍历 - map() 方法
查看>>
jQuery事件绑定、解绑、命名空间
查看>>
C#类,对象,构造方法
查看>>
学习笔记: AOP面向切面编程和C#多种实现
查看>>
学习笔记: 特性Attribute详解,应用封装
查看>>
java的垃圾回收方法finalize()
查看>>
Android NDK构建资料
查看>>
Linux搭建Scrapy爬虫集成开发环境
查看>>
LeetCode(21)题解:Merge Two Sorted Lists
查看>>
Ubuntu 16.04 samba 配置
查看>>
Python——文件操作
查看>>
OPENCV学习笔记2-3_图像遍历(迭代器)
查看>>
DEM转换为Features
查看>>
会计简要学习
查看>>
jquery用户自定义选择器及选择器高级用法实验
查看>>
js学习笔记3:with语句的使用
查看>>
MFC_1.2 消息映射宏 数据绑定和交换
查看>>
抽象工厂模式
查看>>
Android中Button
查看>>