1 . 创建类SearchEmp,实现查找数据表emp中销售部的所有成员的功能。
import java.sql.*;
public class SearchEmp {
/*
创建类SearchEmp,实现查找数据表emp中销售部的所有成员的功能。
*/
// 1 . 声明Connection对象。
static Connection con;
// 2 . 声明PreparedStatement对象。
static Statement sql;
// 3 . 声明ResultSet对象。
static ResultSet res;
// 4 . 连接数据库。
public Connection getConnection(){
// 5 . 加载数据库驱动类。
try{
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库驱动加载成功。");
}catch (ClassNotFoundException e){
e.printStackTrace();
}
// 6 . 通过访问数据库的URL,获取数据库连接对象。
try{
System.out.println("开始运作。");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/emp","root","root");
System.out.println("数据库连接成功。");
}catch (SQLException e){
e.printStackTrace();
}
// 7 . 按要求返回一个Connection对象。
return con;
}
public static void main(String[] args) {
// 8 . 创建本类对象。
SearchEmp c = new SearchEmp();
// 9 . 调用连接数据库的方法。
con = c.getConnection();
try{
// 10 . 实例化Statement对象。
sql = con.createStatement();
// 11 . 执行sql语句。
res = sql.executeQuery("select * from emp where job like '销售部'");
// 12 . 如果当前记录不是记过集中的最后一条,则进入循环体。
while(res.next()){
// 13 . 获取列名是name的字段值。
String name = res.getString("name");
// 15 . 获取列名是sex的字段值。
String job = res.getString("job");
// 16 . 获取列名是birthday的字段值。
String age = res.getString("age");
// 17 . 将列值输出。
System.out.print(" 姓名: " + name);
System.out.print(" 性别: " + job);
System.out.println(" 年龄: " + age);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
2 . 编写程序,使用预处理语句实现向数据表emp中添加数据的功能,要求姓名为“王二麻子”,工位是“实习部”,年龄是18。
import javax.swing.plaf.nimbus.State;
import java.sql.*;
public class AddEmp {
/*
编写程序,用预处理语句实现使向数据表emp中添加数据的功能,要求姓名为“王二麻子”,工位是“实习部”,年龄是18。
*/
// 1 . 声明Connection对象。
static Connection con;
// 2 . 声明PrepareStatement对象。
static PreparedStatement sql;
// 3 . 声明ResultSet对象。
static ResultSet res;
// 4 . 连接数据库。
public Connection getConnection(){
// 5 . 加载数据库驱动类。
try{
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库驱动加载成功。");
}catch (ClassNotFoundException e){
e.printStackTrace();
}
// 6 . 通过访问数据库的URL,获取数据库连接对象。
try{
System.out.println("开始运作。");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/emp","root","root");
System.out.println("数据库连接成功。");
}catch (SQLException e){
e.printStackTrace();
}
// 7 . 按要求返回一个Connection对象。
return con;
}
public static void main(String[] args) {
// 8 . 创建本类对象。
AddEmp c = new AddEmp();
// 9 . 调用连接数据库方法。
con = c.getConnection();
try{
// 10 . 查询数据库。
sql = con.prepareStatement("select * from emp");
// 11 . 执行SQL语句。
res = sql.executeQuery();
// 12 . 遍历查询结果集。
System.out.println("添加数据前的信息为:");
while (res.next()){
String name = res.getString("name");
String job = res.getString("job");
String age = res.getString("age");
System.out.print("姓名: " + name);
System.out.print(" 工位: " + job);
System.out.println(" 年龄: " + age);
}
// 13 . 实例化预处理对象。
sql = con.prepareStatement("insert into emp values (?,?,?)");
sql.setString(1,"王二麻子");
sql.setString(2,"实习部");
sql.setInt(3,18);
sql.executeUpdate();
// 14 . 遍历查询结果集。
System.out.println("添加数据后的信息为:");
// 15 . 查询数据库。
sql = con.prepareStatement("select * from emp");
// 16 . 执行SQL语句。
res = sql.executeQuery();
while (res.next()){
String name = res.getString("name");
String job = res.getString("job");
String age = res.getString("age");
System.out.print("姓名: " + name);
System.out.print(" 工位: " + job);
System.out.println(" 年龄: " + age);
}
}catch (Exception e){
e.printStackTrace();
}
}
}