我们就把数据库想象成你手机里的“通讯录” 。
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 是什么意思?(关键细节)
你会发现,除了“查”返回的是数据(User 或 List),其他三个(增、删、改)返回的都是 int。
这个 int 是管家给你的“回执单”。
它告诉你:“老板,刚才那波操作,我一共影响了 几 行数据。”
- 如果返回
1:成功搞定 1 个人。 - 如果返回
0:操作失败(比如你要删 ID=999 的人,但通讯录里压根没这个人,管家就白跑一趟,回来告诉你“0 行受影响”)。