mybatis--增删查改操作

32 阅读2分钟

我们就把数据库想象成你手机里的“通讯录”

MyBatis 就是帮你操作这个通讯录的管家。你不需要自己去翻页找人,你只需要对管家发号施令。

管家只听得懂这 4 句咒语(注解)


1. 删 (Delete) —— “把这个人拉黑”

这是最简单的。你要删掉一个人,必须告诉管家**“删谁”**(通常是用 ID,因为名字可能会重)。

  • 你的指令@Delete
  • 管家动作:找到这个 ID 的那一行,直接划掉。

代码怎么写?

Java

// 翻译:管家,帮我从 user 表里删除,ID 等于我给你的那个数字的家伙
@Delete("delete from user where id = #{id}")
int deleteById(Integer id);

2. 增 (Insert) —— “新建联系人”

你要存一个新朋友,得把他的详细信息(名字、年龄、性别...)都告诉管家。

  • 你的指令@Insert
  • 管家动作:在通讯录最后空白的一行,填上你给的信息。

代码怎么写?

Java

// 翻译:管家,往 user 表里插一条数据,名字填 #{username},年龄填 #{age}
// 这里的 #{username} 会自动去你传进来的 User 对象里找 getUsername()
@Insert("insert into user(username, age) values(#{username}, #{age})")
int insertUser(User user);

3. 改 (Update) —— “修改联系人信息”

张三改名了,或者过生日长了一岁。你得告诉管家: “找到 ID 是 X 的这个人,把他的名字改成 Y”

  • 你的指令@Update
  • 管家动作:涂改液涂掉旧的,写上新的。

代码怎么写?

Java

// 翻译:管家,更新 user 表,把名字设为新的 #{username},前提是 ID 必须对得上
@Update("update user set username = #{username} where id = #{id}")
int updateName(User user);

4. 查 (Select) —— “搜联系人”

这个你刚才已经做过了(查全表)。现在我们试个高级点的:按名字搜

  • 你的指令@Select
  • 管家动作:戴上眼镜一行行找,找到后抄在一张纸上给你。

代码怎么写?

Java

// 翻译:管家,给我找所有名字叫 #{name} 的人
@Select("select * from user where name = #{name}")
List<User> getByName(String name);

❓ 那个 int 是什么意思?(关键细节)

你会发现,除了“查”返回的是数据(UserList),其他三个(增、删、改)返回的都是 int

这个 int 是管家给你的“回执单”。

它告诉你:“老板,刚才那波操作,我一共影响了 几 行数据。”

  • 如果返回 1:成功搞定 1 个人。
  • 如果返回 0:操作失败(比如你要删 ID=999 的人,但通讯录里压根没这个人,管家就白跑一趟,回来告诉你“0 行受影响”)。