JDBC在eclipse中使用的完整步骤:
第一步 导入驱动类:
1、在项目上右键新建一个文件夹(DriverForMySQL)
2、将驱动jar包复制到DriverForMySQL文件夹中
3、点击项目右键—>Build Path—>Configure Build Path—>Libraries—>Add JARS
第二步 创建数据库配置文件:
1、在src目录下创建一个以.properties为扩展名的文件(MyJDBC.properties)
2、在文件中填写 driver url user password
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/db_ymy?serverTimezone=UTC
user=test
password=333
3、保存
第三步 创建JDBC工具包:
1、新建一个包名字为:jdbc.myutil
2、在包里创建一个类名为:DButil
3、代码如下:
package jdbc.myutil;
import java.sql.*;
import java.util.*;
/**
* JDBC工具类
*/
public class DBUtil {
/**
* 工具类中的构造方法都是私有化的
* 因为工具类中的方法都是静态的不用new对象,直接采用类名调用
* 构造方法上加上private就不能new对象了,防止其他人new对象
* 参考的是SUN公司的写法
*/
private DBUtil() {
}
/**
* 静态代码块在类加载的时候执行,并且只会执行一次
*/
static {
ResourceBundle bundle = ResourceBundle.getBundle("MyJDBC");
String driver = bundle.getString("driver");
try{
Class.forName(driver);
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获取数据库连接对象
* @return 数据库连接对象
* @throws SQLException
*/
public static Connection getConnection() throws SQLException{
ResourceBundle bundle = ResourceBundle.getBundle("MyJDBC");
String url = bundle.getString("url");
String user = bundle.getString("user");
String password = bundle.getString("password");
return DriverManager.getConnection(url, user, password);
}
/**
* 释放资源
* @param conn 数据库连接对象
* @param ps SQL操作对象
* @param rs 结果集对象
*/
public static void close(Connection conn, Statement ps, ResultSet rs) {
if(rs!=null) {
try{
rs.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(ps!=null) {
try{
ps.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try{
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
}
第四步:使用JDBC工具包
代码如下:
package com.ymy.login;
import java.sql.*;
import jdbc.myutil.DBUtil;;
public class JDBCTest005 {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "insert into t_account(actno,balance)values(?,?)";
try{
//加载驱动类获取连接
conn = DBUtil.getConnection();
//获取sql操作对象
ps = conn.prepareStatement(sql);
//给问号传值
ps.setInt(1, 115);
ps.setDouble(2, 99999.00);
//执行sql
int count = ps.executeUpdate();
System.out.println(count+"条记录。");
}catch(SQLException e) {
e.printStackTrace();
}finally {
DBUtil.close(conn, ps, rs);
}
}
}