本文最后更新于:2023年8月24日 晚上
准备操作
下载 jar 包:mysql-connector-java
搜索jar包:https://mvnrepository.com/
整体步骤:
- 导入jar包
- 使用
Class.forName("com.mysql.cj.jdbc.Driver")注册驱动(8.0)
- 获取conn对象,并使用
prepareStatement装入sql语句
- 使用pre对应方法执行
封装连接工具类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public class getConn { private static String url, user, pwd; private static Connection conn;
static { url = "jdbc:mysql://XXX.XXX.XXX.XXX:XXXX/FSAN?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8"; user = "root"; pwd = "FSAN"; }
public Connection getConn() { try { Class.forName("com.mysql.cj.jdbc.Driver"); conn = DriverManager.getConnection(url, user, pwd); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } }
|
CRUD 操作
添加数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public String addData(loginUser loginUser) { try { pre = conn.prepareStatement("insert into loginUser(username,password) VALUES (?,?)"); pre.setString(1, loginUser.getUsername()); pre.setString(2, loginUser.getPassword()); if (pre.executeUpdate() != 0) { return "添加成功!"; } else { return "添加失败!"; } } catch (SQLException e) { e.printStackTrace(); } return "出现未知错误!"; }
|
修改数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public String editData(loginUser loginUser) { try { pre = conn.prepareStatement("update loginUser set username=?,password=? where id=?"); pre.setString(1, loginUser.getUsername()); pre.setString(2, loginUser.getPassword()); pre.setInt(3, loginUser.getId()); if (pre.executeUpdate() != 0) { return "修改成功!"; } else { return "修改失败!"; }
} catch (SQLException e) { e.printStackTrace(); } return "出现未知错误!"; }
|
删除操作
1 2 3 4 5 6 7 8 9 10 11
| public String delDataById(int id) { try { pre = conn.prepareStatement("delete from loginUser where id=?"); pre.setInt(1, id); if (pre.executeUpdate() != 0) return "删除成功!"; return "id不存在!"; } catch (SQLException e) { e.printStackTrace(); } return "出现未知错误!"; }
|
查询操作
1 2 3 4 5 6 7 8 9 10 11 12
| public ArrayList<loginUser> getAllData() { try { pre = conn.prepareStatement("select * from loginUser"); ResultSet result = pre.executeQuery(); while (result.next()) { list.add(new loginUser(result.getInt("id"), result.getString("username"), result.getString("password"))); } } catch (SQLException e) { e.printStackTrace(); } return list; }
|
完整DB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| public class JDBCAbout { private static Connection conn; private static PreparedStatement pre; private static ArrayList<loginUser> list; private static loginUser loginUser;
static { conn = new getConn().getConn(); list = new ArrayList<>(); }
public ArrayList<loginUser> getAllData() { try { pre = conn.prepareStatement("select * from loginUser"); ResultSet result = pre.executeQuery(); while (result.next()) { list.add(new loginUser(result.getInt("id"), result.getString("username"), result.getString("password"))); } } catch (SQLException e) { e.printStackTrace(); } return list; }
public String delDataById(int id) { try { pre = conn.prepareStatement("delete from loginUser where id=?"); pre.setInt(1, id); if (pre.executeUpdate() != 0) return "删除成功!"; return "id不存在!"; } catch (SQLException e) { e.printStackTrace(); } return "出现未知错误!"; }
public String addData(loginUser loginUser) { try { pre = conn.prepareStatement("insert into loginUser(username,password) VALUES (?,?)"); pre.setString(1, loginUser.getUsername()); pre.setString(2, loginUser.getPassword()); if (pre.executeUpdate() != 0) { return "添加成功!"; } else { return "添加失败!"; } } catch (SQLException e) { e.printStackTrace(); } return "出现未知错误!"; }
public String editData(loginUser loginUser) { try { pre = conn.prepareStatement("update loginUser set username=?,password=? where id=?"); pre.setString(1, loginUser.getUsername()); pre.setString(2, loginUser.getPassword()); pre.setInt(3, loginUser.getId()); if (pre.executeUpdate() != 0) { return "修改成功!"; } else { return "修改失败!"; }
} catch (SQLException e) { e.printStackTrace(); } return "出现未知错误!"; }
private void closeAll(Connection conn, PreparedStatement pre) { try { if (conn != null) { conn.close(); } if (pre != null) { pre.close(); } } catch (SQLException e) { e.printStackTrace(); } } }
|