1、注册连接
//适用于mysql 8.0以后的数据库连接
Class.forName("com.mysql.cj.jdbc.Driver");
//适用于mysql 8.0之前的数据库连接
Class.forName("com.mysql.jdbc.Driver");
2、获取驱动
//输入自己想要连接数据库里的表,选择账号和密码
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1","root", "1357");
3、获取执行者对象
Statement st = conn.createStatement();
4、执行sql语句,并接受返回结果
//查询所有
String sql = "select * from student";
//根据id查询
//输出返回结果
ResultSet rs = stat.executeQuery(sql);
5、处理结果
//遍历表
//这里也是Array接口格式,不用的话,在findall的做后要进行格式的转换
public static ArrayList<Student> list = new ArrayList<>();
while (rs.next()) {
Integer sid = rs.getInt("sid");
String name = rs.getString("name");
int age = rs.getInt("age");
Date birthday = rs.getDate("birthday");
Student stu = new Student();
stu.setAge(sid);
stu.setName(name);
stu.setAge(age);
stu.setBirthday(birthday);
list.add(stu);
}
6、释放资源
conn.close();
st.close();
rs.close();
结果集的处理(增删改查)
1.进行遍历 查询所有数据的时候使用
while (rs.next()) {
Integer sid = rs.getInt("sid");
String name = rs.getString("name");
int age = rs.getInt("age");
Date birthday = rs.getDate("birthday");
Student stu = new Student();
stu.setAge(sid);
stu.setName(name);
stu.setAge(age);
stu.setBirthday(birthday);
list.add(stu);
}
2.进行查询单个数据,根据id
Integer sid = rs.getInt("sid");
String name = rs.getString("name");
Integer age = rs.getInt("age");
Date birthday = rs.getDate("birthday");
//封装Student对象
stu.setSid(sid);
stu.setName(name);
stu.setAge(age);
stu.setBirthday(birthday);
3.进行插入数据的结果集
//转换date的格式
java.util.Date date = stu.getBirthday();
//简单数据的格式化,转换为自己想要的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String birthday = sdf.format(date);
String sql = "insert into student values('" + stu.getSid() + "','"
+ stu.getName() + "'," +"'" + stu.getAge() + "','"
+ birthday + "')";
int result = st.executeUpdate(sql);
return result;
4、进行数据的增加
//sql语句
java.util.Date date = stu.getBirthday();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String birthday = sdf.format(date);
String sql = "insert into student values('" + stu.getSid() + "','" + stu.getNam e() + "'," +
"'" + stu.getAge() + "','" + birthday + "')";
int result2 = st.executeUpdate(sql);
return result2;
5、进行数据的删除
String sql = "DELETE FROM student WHERE sid='"+id+"'";
result = stat.executeUpdate(sql);
6、进行数据的更新
Date d = stu.getBirthday();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String birthday = sdf.format(d);
String sql = "UPDATE student SET
sid='"+stu.getSid()+"',name='"+stu.getName()+"',age='"+stu.getAge()+"',birthday=
'"+birthday+"' WHERE sid='"+stu.getSid()+"'";
result = stat.executeUpdate(sql);