(1)通过预处理对象的executeQuery方法,完成记录的select语句的执行;
(2)操作格式统一如下:
①注册驱动;
②获取连接;
③获取预处理对象;
④SQL语句占位符设置实际参数;
⑤执行SQL语句;
⑥处理结果集(遍历结果集合);
⑦释放资源。
(3)
无条件查询:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Demo04 {
public static void main(String[] args) throws Exception {
// 1注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 2获取连接
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mybase", "root", "root");
// 3获得预处理对象
String sql = "select * from user";
PreparedStatement stat = conn.prepareStatement(sql);
// 4 SQL语句占位符设置实际参数
// 5执行SQL语句
ResultSet rs = stat.executeQuery();
// 6处理结果集(遍历结果集合)
while (rs.next()) {
// 获取当前行的分类ID
String userid = rs.getString("userid");// 方法参数为数据库表中的列名
// 获取当前行的分类名称
String username = rs.getString("username");
// 显示数据
System.out.println(userid + "-----" + username);
}
// 7释放资源
rs.close();
stat.close();
conn.close();
}
}
有条件查询:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Demo05 {
public static void main(String[] args) throws Exception {
// 1注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 2获取连接
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "root");
// 3获得预处理对象
String sql = "select * from user where sname=?";
PreparedStatement stat = conn.prepareStatement(sql);
// 4 SQL语句占位符设置实际参数
stat.setString(1, "张三");
// 5执行SQL语句
ResultSet rs = stat.executeQuery();
// 6处理结果集(遍历结果集合)
while (rs.next()) {
// 获取当前行的分类ID
String userid = rs.getString("userid");// 方法参数为数据库表中的列名
// 获取当前行的分类名称
String username = rs.getString("username");
// 显示数据
System.out.println(userid + "-----" + username);
}
// 7释放资源
rs.close();
stat.close();
conn.close();
}
}