郑州专业高校网站建设公司,广告公司设计,中国企业500强中海油排名,wordpress 自定义菜单设置目录标题 一、Mapper#xff1a;二、Select、Insert、Update、Delete#xff1a;三、Results、Result#xff1a;四、Param#xff1a;五、# 和 $#xff1a; MyBatis 是一款基于 Java 的持久层框架#xff0c;它通过简化数据库操作来帮助开发者构建更好的数据库访问应用… 目录标题 一、Mapper二、Select、Insert、Update、Delete三、Results、Result四、Param五、# 和 $ MyBatis 是一款基于 Java 的持久层框架它通过简化数据库操作来帮助开发者构建更好的数据库访问应用。 一、Mapper
含义用于标记一个 Mapper 接口。
用例在 Mapper 接口上使用告诉 MyBatis 这是一个映射器接口。
Mapper
public interface UserMapper {User getUserById(Long id);ListUser getAllUsers();void insertUser(User user);
}二、Select、Insert、Update、Delete
含义分别表示 SELECT、INSERT、UPDATE、DELETE 操作。
用例在 Mapper 接口的方法上使用定义对应的 SQL 操作。
Mapper
public interface UserMapper {Select(SELECT * FROM users WHERE id #{id})User getUserById(Long id);Insert(INSERT INTO users(name, age) VALUES(#{name}, #{age}))void insertUser(User user);Update(UPDATE users SET name #{name}, age #{age} WHERE id #{id})void updateUser(User user);Delete(DELETE FROM users WHERE id #{id})void deleteUser(Long id);
}三、Results、Result
含义用于定义结果映射规则。
用例在 Select 注解中使用将查询结果映射为实体类。
Select(SELECT * FROM users)
Results({Result(property id, column id),Result(property name, column name),Result(property age, column age)
})
ListUser getAllUsers();四、Param
含义用于给方法参数取别名提高可读性。
用例在方法参数前使用指定参数名称。
Select(SELECT * FROM users WHERE name #{name} AND age #{age})
User getUserByNameAndAge(Param(name) String name, Param(age) int age);五、# 和 $
含义# 表示预编译$ 表示字符串拼接。
用例在 SQL 语句中使用# 将参数以预编译的形式传递$ 将参数直接拼接到 SQL 语句中。
Select(SELECT * FROM users WHERE id #{id}) // # 表示预编译
User getUserById(Param(id) Long id);Select(SELECT * FROM users WHERE name ${name}) // $ 表示字符串拼接
User getUserByName(Param(name) String name);这些只是 MyBatis 中的一部分概念和功能MyBatis 还提供了一些高级功能如动态 SQL、缓存、拦截器等以帮助开发者更灵活地操作数据库。