经过上面的学习,会发现增删改查都有很多共同点,不同之处只是SQL语句和接收返回值的方式不同,那么为了使程序的复用性更好,我们通常把相同的代码提取出来。下面的代码演示一个通过提取出来的工具类进行新增操作。
DBUtil工具类
import java.sql.Connection; import java.sql.DriverManager; public class DBUtil { private static String url = "jdbc:mysql://localhost:3306/easilyj"; // 数据库地址 private static String userName = "root"; // 数据库用户名 private static String passWord = "123456"; // 数据库密码 private static Connection conn = null; public static Connection getConnection() { if (null == conn) { try { // 加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 创建数据库连接 conn = DriverManager.getConnection(url, userName, passWord); } catch (Exception e) { e.printStackTrace(); } } return conn; } public static void main(String[] args) { // 测试数据库是否连通 System.out.println(getConnection()); } }
新增数据改为以下代码:
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class InsertDate { public static void main(String[] args) { // 准备sql String sql = "INSERT INTO user(user_name, user_password) VALUES ('小海绵', '123456')"; Connection conn = DBUtil.getConnection(); PreparedStatement pst = null; try { // 创建预编译语句 pst = conn.prepareStatement(sql); // 执行SQL pst.executeUpdate(); System.out.println("JDBC 插入成功"); // 关闭资源 pst.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); System.out.println("JDBC 插入失败"); } } }
同样的,可以将增删改查都改成这种方式,使代码更加的简洁,更具有逻辑性和复用性。