连接JDBC的工具类
此类的功能:
- 获取连接
- 释放资源
可以把每段代码中重复的部分抽取出来,单独放到一个类中,这样其他的类都可以引用。
package com.test.jdbc01;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 此类是连接JDBC的工具类 功能: 1、获取连接 2、释放资源
*
*/
public class JDBCUtils {
// 声明全局变量
static String user;
static String password;
static String driver;
static String url;
static {
try {
Properties info = new Properties();
info.load(new FileInputStream("src\\jdbc.properties"));
user = info.getProperty("user");
password = info.getProperty("password");
driver = info.getProperty("driver");
url = info.getProperty("url");
// 1、注册驱动
Class.forName(driver);
} catch (Exception e) {
// 将编译异常转换为运行异常
throw new RuntimeException(e);
}
}
/**
* 功能:获取可用的连接对象
*/
public static Connection getConnection() throws Exception {
// 2、获取连接
// Connection connection = DriverManager.getConnection(url, user, password);
return DriverManager.getConnection(url, user, password);
}
// 关闭连接
public static void close(ResultSet set, Statement statement, Connection connection) throws Exception {
// 如果不为空,则关闭
if (set != null) {
set.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}
package com.test.jdbc01;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Properties;
import java.util.Scanner;
public class TestPreparedStatement {
public static void main(String[] args) throws Exception {
// 界面
Scanner input = new Scanner(System.in);
System.out.println("请输入待修改的人员ID编号:");
int id = input.nextInt();
System.out.println("请输入新的人员姓名:");
String name = input.next();
// =============== 连接数据库的步骤====================
// 1、获取连接
Connection connection = JDBCUtils.getConnection();
// 2、执行增删改查
String sql = "update beauty set name=? where id=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, name);
statement.setInt(2, id);
// 拿到一个update变量,返回受影响的行数
int update = statement.executeUpdate();
System.out.println(update > 0 ? "修改成功!" : "修改失败!");
// 3、释放资源
JDBCUtils.close(null, statement, connection);
}
}
就酱.@_@