JDBC(Java DataBase Connection)
Class.forName("com.mysql.jdbc.Driver");
Connection = DriverManager.getConnection("jdbc;mysql://localhost:3306/Demo?useUnicode=true&characterEncoding=UTF8");
Statement st = conn.createStatement();
st.executeUpdate("SQL code");
st.executeQuery("SQL code");
st.close();
conn.close();
DBHelper 数据库连接类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* JDBC Utils
* @author
*/
public class DBHelper {
private static final String USER = "root", PASSWORD = "root";
private static final String URL = "jdbc:mysql://localhost:3306/Demo?useUnicode=true&characterEncoding=UTF8";
/**
* 连接数据库 Connection database
* @return
*/
public static Connection init() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 关闭连接 Close database
* @param conn
*/
public static void close(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 设置SQL语句中不定量传参
* @param ps
* @param values
*/
private static void setParam(PreparedStatement ps, Object... values) {
if (values != null && values.length > 0) {
for (int i = 0; i < values.length; i++) {
try {
ps.setObject(i + 1, values[i]);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
/**
* 执行 insert delete update
* @param conn
* @param sql
* @param values
* @return
*/
public static int executeUpdate(Connection conn, String sql, Object... values) {
int alter = 0;
try {
PreparedStatement ps = conn.prepareStatement(sql);
setParam(ps, values);
alter = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return alter;
}
/**
* 执行 select
* @param conn
* @param sql
* @param values
* @return
*/
public static ResultSet executeQuery(Connection conn, String sql, Object... values) {
ResultSet rs = null;
try {
PreparedStatement ps = conn.prepareStatement(sql);
setParam(ps, values);
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
}
使用示例
Connection conn = DBUtils.init();
String sql = "insert into user(account,password) values (?,?);";
DBHelper.executeUpdate(conn, sql, "account", "password")
Connection conn = DBUtils.init();
String sql = "delete from user where id = ?";
DBUtils.executeUpdate(conn, sql, id);
Connection conn = DBUtils.init();
String sql = "select * from user where account = ?";
ResultSet rs = DBHelper.executeQuery(conn, sql, "account")
Connection conn = DBUtils.init();
String sql = "update user set account = ?,password = ? where id = ?";
DBUtils.executeUpdate(conn, sql, "account", "password");