1.JDBC:
Java DataBase Connectivity,Java语言操作数据库
本质:官方定义的一套操作所有关系型数据库的规则即接口。各个数据库厂商实现这套接口,提供数据库驱动jar包。可以使用JDBC接口编程,真正执行的代码是驱动jar包中的实现类。
2.步骤:
导入驱动jar包;
注册驱动;
获取数据库连接对象Connection;
定义sql语句;
获取执行sql语句的对象Statement;
执行sql,接收返回结果;
处理结果;
释放连接。
3.详解对象:
DriverManger:驱动管理对象,负责注册驱动以及获取数据库连接;
Connection:数据库连接对象;
Statement:执行sql的对象;
ResultSet:结果集对象
4.方法:
executeUpdate(sql):执行增、删、改操作;
executeQuery(sql):执行查询操作;
resultSet.next():将指针移动到当前位置的下一行。ResultSet 指针的初始位置位于第一行之前;第一次调用next()方法将会把第一行设置为当前行;第二次调用next()方法指针移动到第二行,以此类推。
案例1:查询bookmanager数据库book_type表中第1条记录
public class jdbcDemo5 {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
//1.注册驱动
Class.forName(“com.mysql.jdbc.Driver”);
//2.获取数据库连接对象
connection = DriverManager.getConnection(“jdbc:mysql:///bookmanager”, “root”, “admin”);
//3.定义sql
String sql = “select * from book_type”;
//4.获取执行sql语句对象
statement = connection.createStatement();
//5.执行sql
resultSet = statement.executeQuery(sql);
//6执行结果
//6.1游标向下移动一行
resultSet.next();
//6.2获取数据
int id = resultSet.getInt(“id”);
String type_name = resultSet.getString(“type_name”);
String remark = resultSet.getString(“remark”);
System.out.println(id + “–” + type_name + “–” + remark);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
//7.释放资源
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();
}
}
}
}
}
若要查询数据表的所有数据,则在while(resuleSet.next())循环内获取数据