MySQL-07——JDBC、Properties、DBCP、Preparedstatement
1、JDBC
-
JDBC概念:
Java DataBase Connectivity Java数据库连接,JDBC实际上就是Java中的一套和数据库交互的API (Application Program Interface 应用程序编程接口) -
为什么使用JDBC:
因为Java程序员需要连接多种数据库(Oracle、 MySQL…)为了避免连接每一种数据库都学习一套新的api, Sun公司提出了JDBC接口,各个数据库厂商根据此接口写实现类(驱动) ,这样Java程序员只需要掌握JDBC接口中的方法调用就可以连接任何数据库。
如何使用JDBC:
1.创建一个Maven程序。
2.去Maven私服搜索mysql的驱动jar包
2、Properties配置文件
//创建读取配置文件的对象
Properties prop=new Properties();
//通过反射的方式得到文件输入流
InputStream ips = Demo02.class.getClassLoader().getResourceAsStream("jdbc.properties");
//把流交给上面的对象
prop.load(ips);
//读取数据
String name=prop.getProperty("name");
String age=prop.getProperty("age");
System.out.println(name+":"+age);
//关闭流
ips.close();
3、DBCP
- DBCP概念:
DataBase Connection Pool :数据库连接池
//创建数据源对象
BasicDataSource ds=new BasicDataSource();
//设置数据库连接信息
ds.setDriverClassName("com.mysql.cj.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/newdb3?serverTimezone=UTC");
ds.setUsername("root");
ds.setPassword(",,,Gin");
//设置数据库初始连接数量
ds.setInitialSize(3);
//设置最大连接数量
ds.setMaxTotal(5);
Connection conn=ds.getConnection();
System.out.println(conn);
4、Preparedstatement
- 预编译的SQL执行对象
- 好处:
1.防止SQL注入(因为在创建SQL执行对象时就已经把sQL语句的逻辑锁死,不会被用户所写的内容更改)
2.代码结构整齐不易出错
如果SQL语句中没有变量使用Statement,如果有变量就使用PreparedStatement
5、数据库连接配置
-
url=jdbc:mysql://localhost:3306/tedu_ums?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
-
username=root
-
password=,,,Gin
-
driver=com.mysql.cj.jdbc.Driver
-
initialSize=2//可省略
-
maxActive=18//可省略