当前位置:首页 > Java

java如何增删改查

2026-03-18 22:37:23Java

增删改查操作示例

在Java中,增删改查(CRUD)操作通常涉及数据库交互,以下以JDBC和MyBatis为例说明实现方式。

JDBC实现

数据库连接配置

String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);

增加数据(Create)

String sql = "INSERT INTO users(name, age) VALUES(?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "张三");
pstmt.setInt(2, 25);
pstmt.executeUpdate();

删除数据(Delete)

String sql = "DELETE FROM users WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
pstmt.executeUpdate();

修改数据(Update)

java如何增删改查

String sql = "UPDATE users SET name = ? WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "李四");
pstmt.setInt(2, 2);
pstmt.executeUpdate();

查询数据(Read)

String sql = "SELECT * FROM users";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
    System.out.println(rs.getInt("id") + " " + rs.getString("name"));
}

MyBatis实现

Mapper接口定义

public interface UserMapper {
    void insert(User user);
    void deleteById(int id);
    void update(User user);
    User selectById(int id);
}

XML映射文件

java如何增删改查

<!-- 插入 -->
<insert id="insert" parameterType="User">
    INSERT INTO users(name, age) VALUES(#{name}, #{age})
</insert>

<!-- 删除 -->
<delete id="deleteById">
    DELETE FROM users WHERE id = #{id}
</delete>

<!-- 更新 -->
<update id="update" parameterType="User">
    UPDATE users SET name=#{name} WHERE id=#{id}
</update>

<!-- 查询 -->
<select id="selectById" resultType="User">
    SELECT * FROM users WHERE id = #{id}
</select>

Spring Data JPA实现

实体类定义

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue
    private Integer id;
    private String name;
    private Integer age;
    // getters/setters
}

Repository接口

public interface UserRepository extends JpaRepository<User, Integer> {
}

服务层调用

// 保存
userRepository.save(new User("王五", 30));

// 删除
userRepository.deleteById(1);

// 更新
User user = userRepository.findById(2).get();
user.setName("赵六");
userRepository.save(user);

// 查询
List<User> users = userRepository.findAll();

注意事项

  • JDBC需要手动管理连接资源,推荐使用try-with-resources
  • MyBatis需确保SQL映射文件与接口匹配
  • JPA方法命名需遵循规范,如findByName会自动生成对应查询
  • 所有数据库操作都应处理可能的SQLException
  • 生产环境建议使用连接池(如HikariCP)管理数据库连接

标签: java
分享给朋友:

相关文章

java如何创建项目

java如何创建项目

使用IDE创建Java项目(以IntelliJ IDEA为例) 打开IntelliJ IDEA,选择“New Project”。 在左侧菜单中选择“Java”,确保已配置JDK(若无需手动添加)。 勾…

java如何避免死锁

java如何避免死锁

避免死锁的方法 固定顺序获取锁 确保所有线程按照相同的顺序获取多个锁。例如,若需要获取锁A和锁B,所有线程必须先获取A再获取B,避免交叉依赖导致的死锁。这种方式破坏了“循环等待”条件。 使用锁超时机…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

java如何入门

java如何入门

学习基础语法 从Java的基础语法开始,包括变量、数据类型、运算符、控制结构(if-else、for循环、while循环)等。可以通过官方文档或入门教程学习。 安装开发环境 下载并安装JDK(J…

java实现php

java实现php

Java 实现 PHP 功能的方法 在 Java 中实现 PHP 的功能通常涉及以下几个方面:字符串处理、Web 开发、数据库操作等。以下是几种常见需求的实现方法。 字符串处理 PHP 中的字符串处…

java如何创建线程

java如何创建线程

在Java中创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法,可以创建一个线程。启动线程时调…