目录
2.DriverManager 获取Connection连接
JDBC
Java Database Connectivity:Java访问数据库的解决方案
JDBC相关类与接口
驱动管理类
DriverManager
连接接口
Connection
语句对象接口
Statement
结果集接口
ResultSet
JDBC操作数据库步骤
1.Class.forName() 加载驱动
下载对应数据库的驱动包
以Eclipse和MySQL 8.0版本为例
- 在官网下载对应的驱动
- 把驱动类加载到项目里
- 在项目下创建 lib文件夹
- 把驱动放在创建好的文件夹中
- 选中 jar包 右键鼠标
- 然后Build Path
- 当出现这个小奶瓶说明加载成功
2.DriverManager 获取Connection连接
![](https://i-blog.csdnimg.cn/blog_migrate/a85f40369c85803db2920cdd84c0775d.png)
url:数据库url
包含【协议、地址(端口)、资源】
user:数据库用户名
password:数据库密码
例:
![](https://i-blog.csdnimg.cn/blog_migrate/f963f70702c1a22aa2c9abf15669f425.png)
3.创建Statement 执行SQL语句
方式一
注:不能防止sql注入
获取执行sql语句对象执行sql语句
方式二
注:防止sql注入,需进行封装
定义其方法时,需传入sql语句和Object类型可变参数(Object...可变参数名)
预处理
传参
执行
注:方法中不用传参;
释放资源时也需把PreparedStatement 的对象释放掉 prepstatm.close()
例:
public class BaseDao {
protected Connection conn;
protected PreparedStatement prepstatm;
protected ResultSet rs;
protected int update(String sql,Object...arge) {
int ret = 0;
try {
conn=DaoUtil.getConn();
// 预处理
prepstatm = conn.prepareStatement(sql);
//传参
for(int i = 0;i < arge.length;i++) {
prepstatm.setObject(i+1,arge[i]);
}
//执行
ret=prepstatm.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DaoUtil.closeSource(conn, prepstatm, rs);
}
return ret;
}
}
4.返回ResultSet 查询结果
- 判断结果集是否为空
- 解析结果集
例:
5.释放资源
![](https://i-blog.csdnimg.cn/blog_migrate/e31fcb72818c41880438cfc173b11651.png)