1.java通过JDBC访问数据库
2.数据库:是一个网络主机上的数据库服务端进程,需要使用URL来连接。
MySQL
数据连接的
URL
参数格式如下:
jdbc
:
mysql
:
//
服务器地址
:
端口
/
数据库名
?
参数名
=
参数值
![](https://i-blog.csdnimg.cn/blog_migrate/1361d930d7d2def8f8f3a57542275e8a.png)
3.JDBC使用步骤总结
1.
创建数据库连接
Connection
2.
创建操作命令
Statement
3.
使用操作命令来执行
SQL
4.
处理结果集
ResultSet
5.
释放资源
详情如下:
一、建立数据库连接:类似打开一个cmd客户端连接到mysql
方式一: DriverManager
方式二:DataSource
连接池初始化时,创建一定数量的数据库连接对象(Connection);
connection.close()只是重置连接对象属性,放回连接池。
DataSource vs DriverManager
1.DriverManager每次都是新建一个物理连接,释放是关闭物理连接 效率低
2.DataSource是初始化就创建—定数量的连接,释放只是重置并放回连接池 (可以复用) 效率高
二、创建操作命令对象Statement:该对象用于执行sql代码
三种操作命令对象
(1) Statement:不带占位符简单操作命令对象(了解)
(2) PrepraredStatement:带占位符的预编译操作命令对象
优势:提前预编译,效率更高;防止sql注入,更安全 (防sql注入的原理:把替换的字符串中,单引号加上\转义)
(3) CallableStatement:用于执行存储过程的
三、执行SQL
四、处理结果集ResultSet
1、如果是插入,修改,删除操作,调用executeUpdate,返回int表示处理成功多少条。
2、如果是查询操作,处理结果集ResultSet 调用executeQuery,返回结果集
while(resultSet.next()){
int id=resultSet.getInt("id字段名");
String name=resultSet.getString("name字段名")
}
五、释放资源
反向释放(ResultSet, Statement, Connection)都是调用close()释放