java如何增删改查
增删改查操作示例
在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)

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映射文件

<!-- 插入 -->
<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)管理数据库连接






