JDBC的使用

JDBC详解

1.JDBC简介

JDBC是代表JAVA DATA BASE CONNECTIVITY(Java数据库连接),它是一个标准的Java API,用于Java编程语言和广泛的数据库之间的独立于数据库的连接。

2.使用JDBC(以MySQL为例)

2.1注册驱动

常用的注册方式是使用class.forname()来加载类,DRIVER_NAME在MySQL5.0版本是为com.mysql.jdbc.Driver,在MySQL8.0中是com.mysql.cj.jdbc.Driver。

Class.forName(DRIVER_NAME);
2.2创建连接

创建连接需要使用DriverManager.getConnection()方法来创建一个Connection对象,该对表示与数据库的物理连接。

获取连接分为三种方式:

//传入url,用户名,密码
//url的格式也分两种版本
//5.0:jdbc:mysql://localhost:/数据库名?useUnicode=true&characterEncoding=utf8
//8.0:jdbc:mysql://localhost:/数据库名?useSSL=false&serverTimezone=UTC
1.connection = DriverManager.getConnection(url,user,psw);

//传入url,url中携带用户名和密码
2.connection = DriverManager.getConnection(url);

//传入url和一个Properties对象
3.connection = DriverManager.getConnection(url,info);
2.3执行查询

使用上一步创建的Connection对象来获取Statement对象来生成SQL语句发送给数据库。

Statement对象有几种,一般常用的是PreparededStatement对象,因为PreparededStatement是使用预编译的方式来执行查询,通过预编译能有效防止SQL注入,保证安全性,并且预编译的效率也比较高,还有通过占位符来表示参数,然后通过set方法来注入参数,结构清晰明了,不用通过字符串拼接来创建SQL语句。

//SQL语句,?号为占位符
String sql = "select * from emp where empno=?";
//通过Connection对象来获取PreparedStatement对象,需要传入字符串参数,参数是SQL语句
PreparedStatement preparedStatement = root.prepareStatement(sql);
//通过set方法来设置参数
preparedStatement.setInt(1,7369);
//执行方法,还可以使用execute()方法
ResultSet resultSet = preparedStatement.executeQuery();
2.4从结果集中提取数据
//格式类似迭代器,先使用next()方法来判断结果集还有没有,如果有,就通过getxxx()方法来获取列值
while (resultSet.next()){
            resultSet.getInt("EMPNO");
}
2.5清理环境
//调用各对象的close()方法来清理环境
root.close();
preparedStatement.close();
resultSet.close();
posted @ 2022-04-29 13:42  zeliCouer  阅读(49)  评论(0编辑  收藏  举报