首页 > 编程语言 >12.13博客 备战java11

12.13博客 备战java11

时间:2024-12-27 13:31:51浏览次数:5  
标签:preparedStatement java String import 备战 12.13 sql java11 properties

今天学习单表的增删改查中的增,这是在期末考试中一定要拿到的分数
首先通过 DriverManager.getConnection 方法根据配置信息建立与数据库的连接。
构建 INSERT 语句的 PreparedStatement 对象,其中 ? 是占位符,后续通过 setString、setInt 等方法按照顺序设置对应占位符的值,这样可以避免 SQL 注入风险。
调用 executeUpdate 方法执行插入操作,它返回受影响的行数,如果返回值大于 0,则表示插入成功。
最后关闭 PreparedStatement 和 Connection,释放相关资源,这是良好的编程习惯,避免出现资源浪费和潜在的连接数耗尽等问题。
我以student为例写了如下代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;

public class InsertDataExample {
public static void main(String[] args) {
// 读取数据库连接配置
Properties properties = new Properties();
try {
properties.load(InsertDataExample.class.getClassLoader().getResourceAsStream("db.properties"));
String url = properties.getProperty("db.url");
String username = properties.getProperty("db.username");
String password = properties.getProperty("db.password");

        // 1. 建立数据库连接
        Connection connection = DriverManager.getConnection(url, username, password);

        // 2. 编写 SQL 语句,这里使用 PreparedStatement 更安全,能防止 SQL 注入
        String sql = "INSERT INTO students (name, age, gender) VALUES (?,?,?)";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1, "张三");
        preparedStatement.setInt(2, 20);
        preparedStatement.setString(3, "男");

        // 3. 执行插入操作
        int rowsAffected = preparedStatement.executeUpdate();
        if (rowsAffected > 0) {
            System.out.println("数据插入成功");
        }

        // 4. 关闭资源,释放连接等,防止资源泄漏
        preparedStatement.close();
        connection.close();
    } catch (SQLException | java.io.IOException e) {
        e.printStackTrace();
    }
}

}

标签:preparedStatement,java,String,import,备战,12.13,sql,java11,properties
From: https://www.cnblogs.com/bixi/p/18635481

相关文章

  • 12.14博客 备战java12
    今天学习增删改查单表中的查询操作同样先建立数据库连接。编写SELECT语句的PreparedStatement对象,这里查询所有字段(*),如果需要特定字段,可以修改查询语句,比如SELECTname,ageFROMstudents。通过executeQuery方法执行查询,得到ResultSet结果集对象,使用while(resultSe......
  • 12.15博客 备战java13
    今天学习单表的增删改查中的删除操作建立数据库连接。构建DELETE语句的PreparedStatement对象,通过占位符指定要删除记录的条件(这里以ID作为条件)。执行executeUpdate方法来执行删除操作,依据返回的受影响行数判断删除是否成功。关闭相关资源,完成整个删除操作流程。我写......
  • 12.10博客 备战java8
    今天学习了JSP基础,为web的期末考试做准备JSP概念与语法:学习JSP(JavaServerPages)的概念,它是一种将Java代码嵌入到HTML页面中的技术,使得页面可以动态生成内容。了解JSP的基本语法,包括脚本元素(<%%>、<%=%>、<%@%>)、指令(page、include、taglib)、表达式语言(EL)等,能够在JS......
  • 12.11博客 备战java9
    今天学习了JSP与Servlet整合的内容Model-View-Controller(MVC)模式介绍:了解MVC设计模式在JavaWeb开发中的应用,Servlet作为控制器(Controller)负责接收和处理请求,JSP作为视图(View)负责展示数据,JavaBean或其他数据访问对象作为模型(Model)负责处理业务逻辑和数据存储。理解这种......
  • 12.12博客 备战java10
    今天学习了mysql数据库连接与操作以及数据表的建立,这一部分在期末考试中占比五分JDBC基础:了解JDBC(JavaDatabaseConnectivity)的概念和作用,它是Java语言连接数据库的标准API。学习使用JDBC连接数据库的基本步骤,包括加载数据库驱动(如MySQL的com.mysql.cj.jdbc.Driver)、......
  • 12.3博客 备战java3
    今天我学习了HTML、CSS基础,以便于更好地进行页面设计HTML基础:学习HTML(超文本标记语言)的基本结构,包括声明、、、等标签的作用和用法。掌握常用的HTML标签,如标题标签(-)、段落标签()、链接标签()、图片标签()、列表标签(、、)等,能够使用这些标签构建简单的静态网页结......
  • 12.5博客 备战java5
    今天我抽时间学习了JavaScript的基础部分,为javaweb的设计做准备JavaScript语法:学习JavaScript的基本数据类型(Number、String、Boolean、Array、Object、null、undefined)、变量声明(var、let、const)、运算符(算术、关系、逻辑、赋值等)、流程控制语句(if-else、switch-case、for、w......
  • 12.4博客 备战java4
    JavaScript基础JavaScript语法:学习JavaScript的基本数据类型(Number、String、Boolean、Array、Object、null、undefined)、变量声明(var、let、const)、运算符(算术、关系、逻辑、赋值等)、流程控制语句(if-else、switch-case、for、while、do-while),能够编写简单的JavaScript代码......
  • 12.6博客 备战java5
    Servlet基础Servlet概念与生命周期:学习Servlet的概念,它是运行在Web服务器上的Java程序,用于处理客户端的HTTP请求并返回响应。了解Servlet的生命周期,包括初始化(init方法)、服务(service方法,根据请求方法调用doGet或doPost等方法)和销毁(destroy方法)三个阶段,理解每......
  • 12.9日博客备战 java7
    Servlet进阶与请求响应处理请求参数获取:学习如何在Servlet中获取客户端通过URL传递的参数(GET请求参数)和表单提交的数据(POST请求参数),使用HttpServletRequest对象的getParameter方法获取参数值,并能够对获取到的参数进行处理和验证,例如创建一个登录页面,用户输入用户名和......