Mybatis注解开发(超详细)
https://blog.csdn.net/weixin_43883917/article/details/113830667
扩展
MyBatis 注解开发是指在 MyBatis 中使用注解来代替 XML 配置文件的方式。以下是一
个使用 MyBatis 注解进行 CRUD 操作的简单示例:
首先,在 MyBatis 的配置文件中(例如 mybatis-config.xml)注册接口:
xml
<mappers>
<mapper class="com.example.mapper.YourMapper"/>
</mappers>
然后,创建一个 Mapper 接口并使用注解来映射 SQL 语句:
java
package com.example.mapper;
import org.apache.ibatis.annotations.*;
import com.example.model.YourModel;
public interface YourMapper {
@Select("SELECT * FROM your_table WHERE id = #{id}")
YourModel getById(int id);
@Insert("INSERT INTO your_table(name, value) VALUES(#{name}, #{value})")
@Options(useGeneratedKeys=true, keyProperty="id")
void insert(YourModel model);
@Update("UPDATE your_table SET name = #{name}, value = #{value} WHERE id = #{id}")
void update(YourModel model);
@Delete("DELETE FROM your_table WHERE id = #{id}")
void delete(int id);
}
在这个示例中,YourModel 是一个 POJO 类,它对应数据库表 your_table 的结构。@Select, @Insert, @Update, @Delete 注解分别用于定义查询、插入、更新和删除操作的 SQL 语句。@Options 注解用于指定生成键的策略,例如自动填充新创建对象的 id 属性。
在你的业务逻辑层,你可以通过 MyBatis SqlSession 来获取 YourMapper 接口的实例,并调用其方法执行 CRUD 操作:
// 获取 SqlSession 实例
SqlSession sqlSession = sqlSessionFactory.openSession();
// 获取 Mapper 接口的代理对象
YourMapper mapper = sqlSession.getMapper(YourMapper.class);
// 使用代理对象进行操作
YourModel model = mapper.getById(1);
// ... 业务逻辑处理
mapper.insert(newModel);
// ... 业务逻辑处理
mapper.update(updatedModel);
// ... 业务逻辑处理
mapper.delete(model.getId());
// 提交事务
sqlSession.commit();
// 关闭 SqlSession
sqlSession.close();

