创建jdbc的步骤:
第1步: 加载驱动器
Class.forName("com.mysql.jdbc.Driver")
加载 mysql 驱动
第2步: 登陆数据库
DriverManager.getConnection(url,user,password)
使用DriverManager获取数据库连接 url 为数据库的url地址 user 为你登录数据库的用户名 password为登录密码
第3步: 创建执行SQL的对象 Connection对象.prepareStatement(sql)
使用 Connection对象 . prepareStatement( sql 语句 )执行sql语句并返回PrepareStatement操作对象的
ps = con.prepareStatement(sql);// ps 为 PrepareStatement 对象的变量
第4步: 编写SQL命令
如果需要设置参数 可以 使用 prepareStatement 对象 . setXXX(n, value) 去设置你需要替换的 ? 占位符
xxx为参数类型 n 为你要替换的第几个占位符 占位符序号从1开始
value 为你的值
for (int i = 0; i < string.length; i++) {
ps.setString(i + 1, string[i]);
}
第5步: 执行SQL命令: 通过执行对象,执行SQL命令
PrepareStatement对象 . execute() 执行 sql 命令
ps.execute();
第6步: 获得执行结果: 通过执行对象,获得执行结果
如果是 查询命令的话 可以使用
ps.getResultSet();
获取查询结果集
增删改的话 可以使用
ps.setUpdateCount();
执行命令影响的行数
注意:
添加,修改,删除执行结果为影响行数,查询执行结果为结果集[表格]
package dbpage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Jdbc {
private static String class_Driver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/mydb";
private String user = "root";
private String password = "123456";
private Connection con = null;
PreparedStatement ps = null;
ResultSet rset = null;
static {//加载驱动器类
try {
Class.forName(class_Driver);//加载 mysql 的驱动 Driver类
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public void getConnection() {//获取连接
try {
con = DriverManager.getConnection(url, user, password); //获取使用 用户名和密码 获取连接
} catch (SQLException e) {
e.printStackTrace();
}
}
public void doSQL(String sql, String[] string) {//执行sql语句
try {
ps = con.prepareStatement(sql); //将 sql 语句放入prepareStatement 对象
for (int i = 0; i < string.length; i++) {
ps.setString(i + 1, string[i]); //替换 sql 语句中的占位符
}
ps.execute(); //执行 sql 语句
} catch (SQLException e) {
e.printStackTrace();
}
}
public int getUpCount() {//获取影响行数
int count = -1;
try {
count = ps.getUpdateCount(); //从 prepareStatement 对象中获得影响行数
} catch (SQLException e) {
e.printStackTrace();
}
return count;
}
public ResultSet chaXun() {//获取结果集 并将结果集返回出去
try {
rset = ps.getResultSet(); //获取查询的结果集
} catch (SQLException e) {
e.printStackTrace();
}
return rset;
}
public void closeData() {//关闭打开的资源
try {
if (rset != null) {
rset.close();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{ //使用 finally 尝试关闭每一个连接 避免连接未关闭
try{
if(ps != null){
ps.close();
}
} catch (Exception e){
e.printStackTrace();
}finally{
try {
if(con != null){
con.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
}