JavaWeb2——JDBC
2022/7/1
说白了JDBC就是java语言操作关系型数据库的一套api
Java DataBase Connection
基本步骤:
0、创建工程,导入驱动jar包
1、注册驱动
2、获取连接
3、定义SQL语句
4、获取执行SQL对象
5、执行SQL
6、处理返回结果
7、释放资源
一、JDBC-API
1、DriverManager(驱动管理类)
注册驱动、获取数据库连接
2、Connection(数据库连接对象)
获取执行SQL的对象、管理事务
普通执行SQL对象:Statement
预编译SQL的执行对象:防止SQL注入:PreparedStatement
执行存储过程的对象:CallableStatement
3、Statement:执行SQL语句
DML、DDL:executeUpdate()
DQL:executeQuery(sql) ResultSet结果集对象
4、ResultSet(结果集对象)
next() true,有效数据;false,无效数据
getXxx() 获取数据,对应类型
5、PreparedStatement(预编译sql)
预防SQL防注入问题
使用?传递参数,对应序号传递
一次编译,多次使用(只需要后续传参和执行即可)
二、数据库连接池
类似于线程池,数据库分配Connection给各个用户。
这里用的是druid,代码和测试目录下编写druid.properties,进行配置(这里基础配置)
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?useSSL=false&useServerPrepStmts=true
username=root
password=liu124302909
initialSize=5
maxWait=3000
获取Connection的步骤:
//加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid.properties"));
//获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//获取数据库连接 Connection
Connection conn = dataSource.getConnection();
注:一些问题可能是由于导包不当引起的。
加载这两个包到对应位置:(前者是函数库,后者是建立连接所需要的)
druid-1.2.9.jar 和 mysql-connector-java-8.0.29.jar(注意自己使用的版本,尽量考虑最新版本,不然可能不兼容)
后面用maven依赖导入更方便