1.加载驱动
try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); }2.获取连接
```java Connection conn = null; /*参数1 数据库的连接路径 * jdbc:mysql:// 协议名称 * localhost为所需要连接的具体的数据库ip地址 localhost表示本地 * 3306为数据库的端口号 *student为所需要连接的具体的数据库的库名 * 参数2 连接数据库时的用户名 * 参数3 密码 * */ conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?&useSSL=false&serverTimezone=UTC", "root", "123456");3.定义SQL容器 并装入我们的SQL语句
PreparedStatement ps = null; ps = conn.prepareStatement(sql);4.执行SQL语句
ps.execute();具体代码如下
package cn.haue.dao; //dao 数据库持久化类 import cn.haue.model.User; import java.sql.*; import java.util.ArrayList; import java.util.List; public class UserDao { /* * 完成用户添加的数据库持久化方法 * */ //1.增 public void insertUser(User user) throws SQLException { //1.加载驱动 try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement ps = null; try { //2.获取连接 /*参数1 数据库的连接路径 * jdbc:mysql:// 协议名称 * localhost为所需要连接的具体的数据库ip地址 localhost表示本地 * 3306为数据库的端口号 *student为所需要连接的具体的数据库的库名 * 参数2 连接数据库时的用户名 * 参数3 密码 * */ conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?&useSSL=false&serverTimezone=UTC", "root", "123456"); String sql = "insert into student(id,username,password)values(?,?,?)"; //3定义SQL容器 并装入我们的SQL语句 ps = conn.prepareStatement(sql); /*4.为语句中的?赋值 可选操作步骤 如果语句中没有?则不需要赋值 * 1 对应 第一个? * 有几个?就需要有几行赋值 并且序号与?一一对应 * */ ps.setInt(1, user.getId()); ps.setString(2, user.getUsername()); ps.setString(3, user.getPassword()); //5.执行sql语句 ps.execute(); } catch (SQLException e) { e.printStackTrace(); } finally { if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } } //2.改 public void updateUser(User user) throws SQLException { //1.加载驱动 try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement ps = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?&useSSL=false&serverTimezone=UTC", "root", "123456"); String sql = "update student " + "set username=?,password=? " + "where id=? "; ps = conn.prepareStatement(sql); ps.setString(1, user.getUsername()); ps.setString(2, user.getPassword()); ps.setInt(3, user.getId()); ps.execute(); } catch (SQLException e) { e.printStackTrace(); } finally { if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } } //3.删 public void deleteUser(int id) throws SQLException { //1.加载驱动 try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement ps = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?&useSSL=false&serverTimezone=UTC", "root", "123456"); String sql = "delete from student " + "where id=?"; ps = conn.prepareStatement(sql); ps.setInt(1, id); ps.execute(); } catch (SQLException e) { e.printStackTrace(); } finally { if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } } //4.查 public User seek(int id) { User user = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement ps = null; ResultSet rs = null;//结果集合对象,用于封装数据库的查询结果 String sql = ""; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?&useSSL=false&serverTimezone=UTC", "root", "123456"); sql = "select * from student where id=?"; ps = conn.prepareStatement(sql); ps.setInt(1, id); rs = ps.executeQuery();//执行数据库的查询语句 并返回查询结果 while (rs.next()) { user = new User(); user.setId(rs.getInt("id"));//将当前元素的显示列名为id的数据获取 user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); } } catch (SQLException e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } return user; } //4.1 public List seekALL() { User user = null; List<User> list = new ArrayList<User>(); try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement ps = null; ResultSet rs = null;//结果集合对象,用于封装数据库的查询结果 String sql = ""; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?&useSSL=false&serverTimezone=UTC", "root", "123456"); sql = "select * from student"; ps = conn.prepareStatement(sql); rs = ps.executeQuery();//执行数据库的查询语句 并返回查询结果 while (rs.next()) { user = new User(); user.setId(rs.getInt("id"));//将当前元素的显示列名为id的数据获取 user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); list.add(user); } } catch (SQLException e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } return list; } }