软件公司招聘网站,帝国网站整站迁移,网站空间备案,购物类网站开发目录 前言
1. Mapper
2. Select
3. Insert
4. Update
5. Delete
6. Results
注意事项#xff1a; 前言
MyBatis是一款强大的持久层框架#xff0c;通过注解的方式#xff0c;可以更便捷地进行数据库操作。本文将介绍MyBatis中常用的注解以及在使用这些注解时需要注意…
目录 前言
1. Mapper
2. Select
3. Insert
4. Update
5. Delete
6. Results
注意事项 前言
MyBatis是一款强大的持久层框架通过注解的方式可以更便捷地进行数据库操作。本文将介绍MyBatis中常用的注解以及在使用这些注解时需要注意的事项。
1. Mapper
在MyBatis中使用 Mapper注解可以将一个Java接口标识为MyBatis的映射器Mapper告诉MyBatis这个接口是用于执行SQL语句的。
Mapper
public interface UserMapper {}
2. Select
Select注解用于配置查询操作的SQL语句可以在接口方法上使用也可以在接口内部定义常量。
Select(SELECT * FROM users WHERE id #{id})
User getUserById(Param(id) Long id);
3. Insert
Insert注解用于配置插入操作的SQL语句。
Insert(INSERT INTO users (name, age) VALUES (#{name}, #{age}))
void insertUser(User user);
4. Update
Update注解用于配置更新操作的SQL语句。
Update(UPDATE users SET name #{name} WHERE id #{id})
void updateUser(User user);
5. Delete
Delete注解用于配置删除操作的SQL语句。
Delete(DELETE FROM users WHERE id #{id})
void deleteUserById(Param(id) Long id);
6. Results
Results注解用于配置结果映射将数据库查询的结果映射到Java对象中。
Results({Result(property id, column user_id),Result(property name, column user_name)
})
Select(SELECT user_id, user_name FROM users WHERE id #{id})
User getUserById(Param(id) Long id); 注意事项
1. 命名参数与注解参数名一致 MyBatis通过参数名来匹配SQL语句中的占位符确保注解中的参数名与SQL语句中的参数名一致。
2. 参数注解 在方法参数上使用 Param注解用于指定SQL语句中的参数名。
Select(SELECT * FROM users WHERE name #{name} AND age #{age})
User getUserByNameAndAge(Param(name) String name, Param(age) int age);
3. 动态SQL MyBatis支持使用if, choose, when, otherwise等标签进行动态SQL的构建可以根据不同条件动态拼接SQL语句。
4. 使用#{}和${}的区别 #{}会将参数值以占位符的形式传递给SQL会进行预编译防止SQL注入。${}则直接将参数值嵌入到SQL语句中慎用避免SQL注入。