1.1.后台jdbc的连接
1.1.1.Jdbc连接
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成使用流程:
- 加载数据库驱动
- 获取数据库连接(用户名,密码,连接地址)
- Statement,preparestatement
public class JdbcUtil {
static String url;
static String username;
static String password;
static {
// 1、加载数据库驱动
Properties po = new Properties();
try {
URL fileUrl = JdbcUtil.class.getClassLoader().getResource("jdbc.properties");
po.load(new FileInputStream(new File(fileUrl.toURI())));
Class.forName(po.getProperty("jdbc.driver"));
// 2、获取数据库连接(用户名,密码,连接地址)
url = po.getProperty("jdbc.url");
username = po.getProperty("jdbc.username");
password = po.getProperty("jdbc.password");
} catch (ClassNotFoundException | IOException | URISyntaxException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws ClassNotFoundException, SQLException {
return DriverManager.getConnection(url, username, password);
}
}
1.1.2.C3p0连接池的使用
C3p0连接池的使用:
- 导入s3p0 jar包
- 在资源文件夹中加入c3p0配置
- 获取连接池连接资源
- 连接使用完毕要close,让该连接放回连接池能够进行复用
- 当获取同一个连接,缓存的statement,prementstatement都将清空
1.1.3.ThreadLocal的使用
如果一个线程的事务有多个业务组成,需要同一个连接,怎么解决?ThreadLocal就是用来解决多线程下(并发情况),单线程单事务的问题
能够保证同一线程事务下拿到同一连接