(一)项目对应的包和类,接口
(二)对应的编码:
package com.cn.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* 创建人: Administrator 创建时间:2017-6-12功能描述:JdbcUtil链接数据库的工具类
*/
public class JdbcUtil {
/*
* 四要素
*/
private static final String DRIVER = "com.mysql.jdbc.Driver"; // 驱动
private static final String URL = "jdbc:mysql://localhost:3306/admin";// 地址
private static final String USER = "root"; // 数据库用户名
private static final String PWD = "root"; // 数据库密码
// ctrl+shift+x,y 改变大小写
/*
* 三个接口
*/
protected Connection connection; // 链接数据库的
protected PreparedStatement pStatement; // 操作SQL语句
protected ResultSet resultSet; // 接收结果
/*
* (打开数据库)的方法
*/
public void getConnection() {
try {
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USER, PWD);
System.out.println("老司机开车了,数据库连接了!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* (关闭数据库)的方法
*/
public void closeAll() {
try {
if (resultSet != null) {
resultSet.close();
}
if (pStatement != null) {
pStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/*
* 查询的方法
*/
public ResultSet executeQuery(String sql, Object... objects) {
// 1.打开数据库
getConnection();
try {
// 2.preparedStatement操作SQL语句
pStatement = connection.prepareStatement(sql);
// 3.进行参数非空判断
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
pStatement.setObject(i + 1, objects[i]);
}
// 4.把结果交给resultSet
resultSet = pStatement.executeQuery();
}
} catch (SQLException e) {
e.printStackTrace();
}
// 5.返回给对应的方法
return resultSet;
}
/**
* 增,删,改的方法
*/
public int executeUpdate(String sql, Object...objects) {
int result = 0;
// 1.打开数据库
getConnection();
try {
// 2.数据库语句操作
pStatement = connection.prepareStatement(sql);
// 3.判断参数是否为空
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
pStatement.setObject(i + 1, objects[i]);
}
// 4.接收结果
result = pStatement.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
// 5.返回结果
return result;
}
}