127.JDBC API
128.JDBC-Utils
public class JDBCUtils {//这是一个工具类,完成mysql的连接和关闭资源//顶柜相关的属性(4个),因为只需要一份,因此做成staticprivate static String user;//用户名private static String password;//密码private static String url;//urlprivate static String driver;//驱动名 //在static代码块去初始化static {try{Properties properties = new Properties();properties.load(new FileInputStream("src\\mysql.properties"));//读取相关的属性值user = properties.getProperty("user");password = properties.getProperty("password");url = properties.getProperty("url");driver = properties.getProperty("driver");} catch (IOException e) {//在实际开发中,可以如下处理//1.将编译异常转成 运行异常//2.这时调用者可以选择捕获该异常 或 默认处理,比较方便throw new RuntimeException(e);}}//连接数据库,返回Connectionpublic static Connection getConnection() {try{return DriverManager.getConnection(url,user,password);} catch (SQLException e) {throw new RuntimeException(e);}}//关闭相关资源/*1.Result 结果集2.Statement 或者 PreparedStatement3.Connection4.如果需要关闭资源,就传入对象,否则传入空*/public static void close(ResultSet set, Statement statement,Connection connection) {//判断是否为nulltry{if (set != null) {set.close();}if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException e) {throw new RuntimeException(e);}} }
测试JDBC-Utils工具类,完成dml语句
public class TestJava {//演示如果使用JDBCUtils工具类,完成dml 和 selectpublic void testDML() {//insert , update , delete//1.得到链接Connection connection = null; //2.组织一个sqlString sql = "update actor set name = ? where id = ?";PreparedStatement preparedStatement = null;//3.创建PreparedStatement 对象try {connection = JDBCUtils.getConnection();preparedStatement = connection.prepareStatement(sql);//给占位符赋值preparedStatement.setString(1,"周星驰");preparedStatement.setInt(2,4);//执行preparedStatement.executeUpdate();} catch (SQLException e) {e.printStackTrace();} finally {//关闭资源JDBCUtils.close(null,preparedStatement,connection);}} }