Prestatement的增、删、改、查
前言:
Statement的弊端:需要拼串sql语句,并存在sql注入问题
Prestatement相较于Statement的优点在于可防止SQL注入。
源码:
链接:https://pan.baidu.com/s/14Y9mPnCPDX013mCeJK7ydA
提取码:sdfo
复制这段内容后打开百度网盘手机App,操作更方便哦
目录结构

1.配置
1.1连接数据库的配置文件
jdbc.properties
user=root
password=shan5211314..
DB_URL=jdbc:mysql://localhost:3306/test
JDBC_DRIVER=com.mysql.jdbc.Driver
1.2 操作数据库的工具类
utils.JDBCUtils
package com.shan.util;
import com.shan.connection.ConnectionTest;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
/**
* @author shan
* @date 2021/5/7
* 操作数据库的工具类
*/
public class JDBCUtils {
//获取数据库连接
public static Connection getConnection() throws Exception {
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
Properties pros = new Properties();
pros.load(is);
String user = pros.getProperty("user");
String password = pros.getProperty("password");
String DB_URL = pros.getProperty("DB_URL");
String JDBC_DRIVER = pros.getProperty("JDBC_DRIVER");
//2.加载驱动
Class.forName(JDBC_DRIVER);
//3.获取连接
Connection conn = DriverManager.getConnection(DB_URL, user, password);
return conn;
}
//关闭数据库的连接操作
public static void closeResource(Connection conn, PreparedStatement ps){
//资源的关闭
try {
if(ps != null)
ps.close();
} catch (SQLException e){
e.printStackTrace();
}
try {
if(conn != null)
conn.close();
} catch (SQLException e){
e.printStackTrace();
}
}
// 查找的 资源关闭
public static void closeResource(Connection conn, PreparedStatement ps, ResultSet result){
//资源的关闭
try {
if(ps != null)
ps.close();
} catch (SQLException e){
e.printStackTrace();
}
try {
if(conn != null)
conn.close();
} catch (SQLException e){
e.printStackTrace();
}
try {
if(result != null)
result.close();
} catch

本文档展示了如何使用PreparedStatement进行数据库的增删改查操作,以避免SQL注入问题。通过JDBCUtils工具类连接MySQL数据库,执行预编译SQL语句,填充占位符,并提供通用的方法来实现数据操作。示例代码详细说明了更新、插入和查询操作的实现过程。

1146

被折叠的 条评论
为什么被折叠?



