本关任务:用MyBatis注解方式实现对MySQL表t_user中的用户数据进行增删改查。
时间: 2024-02-01 21:16:29 浏览: 70
好的,我们来逐步完成这个任务。
首先,我们需要准备好实体类,假设我们已经有了一个User类,它对应着t_user表中的数据。
```java
public class User {
private Long id;
private String username;
private String password;
private Integer age;
// 省略getter和setter方法
}
```
接下来,我们需要定义一个Mapper接口,用于执行CRUD操作。这里我们使用MyBatis的注解方式来定义Mapper接口。
```java
public interface UserMapper {
@Select("SELECT * FROM t_user WHERE id = #{id}")
User selectById(Long id);
@Insert("INSERT INTO t_user(username, password, age) VALUES(#{username}, #{password}, #{age})")
void insert(User user);
@Update("UPDATE t_user SET username=#{username}, password=#{password}, age=#{age} WHERE id=#{id}")
void update(User user);
@Delete("DELETE FROM t_user WHERE id=#{id}")
void delete(Long id);
}
```
上述代码中,我们使用了四个注解分别对应着四个CRUD操作。其中,@Select注解表示查询操作,@Insert注解表示插入操作,@Update注解表示更新操作,@Delete注解表示删除操作。在每个注解中,我们都使用了相应的SQL语句,并通过#{}占位符来传递参数。
最后,我们需要在MyBatis的配置文件中将该Mapper接口与对应的SQL语句绑定起来。
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectById" resultType="com.example.entity.User">
SELECT * FROM t_user WHERE id = #{id}
</select>
<insert id="insert" parameterType="com.example.entity.User">
INSERT INTO t_user(username, password, age) VALUES(#{username}, #{password}, #{age})
</insert>
<update id="update" parameterType="com.example.entity.User">
UPDATE t_user SET username=#{username}, password=#{password}, age=#{age} WHERE id=#{id}
</update>
<delete id="delete" parameterType="java.lang.Long">
DELETE FROM t_user WHERE id=#{id}
</delete>
</mapper>
```
在该配置文件中,我们使用<mapper>标签定义了命名空间为com.example.mapper.UserMapper的Mapper接口。接着,我们使用<select>、<insert>、<update>、<delete>标签分别定义了四个操作,并通过id属性指定了操作的方法名,通过parameterType和resultType属性指定了参数类型和返回值类型。
至此,我们已经完成了用MyBatis注解方式实现对MySQL表t_user中的用户数据进行增删改查的任务。
阅读全文