实习的第二天,老师详细地讲解了IDEA的使用步骤以及JDBC操作的七个步骤。在这里记录一下老师的讲解内容,以防以后忘记。JDBC的七个步骤:
1、加载
首先,将mysql的jar包导入新建的Project项目中,并将其设置为Libraries。在项目中新建一个类选作为main函数所在的类。
在main函数中输入以下代码,来测试是否有将mysql的jar包导入成功。
Class.forName("com.mysql.jdbc.Driver");
在输入时注意,括号内的内容是当你每点一个点,下一项内容就会自动联想出来;若在输入“.”之后没有出现提示,说明jar包没有导入成功,需要再次导入。
2、建立连接
在建立连接之前,需要确定是否在SQLyog中创建出一个新的MySQL数据库,并且要记住之前装MySQL时,设置的密码。
建立连接输入代码如下:
Connection connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?" +
"useSSL=true&characterEncoding=utf-8&user=***&password=***");
//test为我建立的MySQL数据库名,user为建立的用户名,password为设置的密码
注释中的三个字段需要根据自己建立的数据库更改。
3、获取对象
执行sql语句需要获得java.sql.Statement的实例,Statement实例分为3类
- 执行静态SQL语句的实例,通常通过Statement实现;
- 执行动态SQL语句的实例,通常通过PreparedStatement实现;
- 执行数据库存储过程的实例,通常通过CallableStatement实现;
这里使用第二种,也就是动态执行sql语句的实例:
PreparedStatement statement= connection.prepareStatement(sql);
4、定义sql语句
sql语句根据当下想要实现的功能选择,比如查询操作:
String sql="select * from userinfo";
5、执行操作
Statement接口中提供了3种执行sql语句的方法:
- executeQuery:查询数据库方法,返回一个结果集ResultSet的对象。
- executeUpdate:对于更改表内容的语句都可以用executeUpdate方法,例如插入、更新、删除等。
- execute:返回多个结果集,多个更新数或者二者组合的语句。
以查询语句为例:
resultSet= statement.executeQuery();
resultSet为ResultSet结果集的一个实例
6、获取结果集
ResultSet的实例返回符合sql语句中条件的所有行的各项信息
while(resultSet.next()){
System.out.println(resultSet.getInt("id"));
System.out.println(resultSet.getString("username"));
System.out.println((resultSet.getString("password")));
}
上图为userinfo表中内容,下图为查询结果集返回内容
7、关闭
对于查询功能,需要依次将ResultSet实例,Statement实例,Connection实例关闭。这样的关闭顺序是由实例调用过程中
的顺序决定的。以查询功能为例,代码如下:
if(resultSet!=null)
{
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
再次说明,该示例代码是以查询为实现功能的,需要按顺序关闭三个口。其他功能,如数据更改功能一般用不到ResultSet口,也不用关闭。