MyBatis-注解的方式实现接口声明的方法

基本说明:

说明:我们可以将MonsterMapperjava接口方法在对应的MonsterlMapper.xml文件中实现外,也可以直接组织MonsterMappere.java接口中声明的方法,直接使用注解来实现,可以作为一种补充的机制在项目中使用.

1、编写了 MonsterAnnotation.java 接口

java 复制代码
public interface MonsterAnnotation {
    @Insert("INSERT INTO mybatis_monster_ (monster_id,age,birthday,email,gender,name,salary)\n" +
            "        VALUES (#{monster_id},#{age},#{birthday},#{email},#{gender},#{name},#{salary})")
    public void addMonster(Monster monster);
        @Delete("DELETE FROM mybatis_monster_ WHERE monster_id=#{monster_id}")
    public void delMonster(Integer monster_id);
    @Update(" UPDATE mybatis_monster_ SET age=#{age},birthday=#{birthday},email=#{email},gender=#{gender},name=#{name},salary=#{salary}\n" +
            "        WHERE monster_id=#{monster_id}")
    public  void updateMonster(Monster monster);
    @Select("SELECT * FROM mybatis_monster_ WHERE monster_id=#{monster_id}")
    public Monster findById(Integer monster_id);
    @Select("SELECT * FROM mybatis_monster_")
    public List<Monster> findAllMonster();
}

2、将Monster.Annotation 注册到mybatis-config.xml文件中

XML 复制代码
 <mappers>
<!--        这里引入或者说注册我们的MonsterMapper.xml文件-->
        <mapper resource="com/bin/mybatis/mapper/MonsterMapper.xml"/>
        <mapper class="com.bin.mybatis.mapper.MonsterAnnotation"/>
<!--        <package name="com.bin.mybatis.mapper"/>-->

    </mappers>

3、测试

java 复制代码
  @Test
    public void testAnotation() {
        Monster monster = new Monster();

        monster.setAge(200);
        monster.setBirthday(new Date());
        monster.setEmail("123@qq.com");
        monster.setGender(1);
        monster.setSalary(8928.00);
        monster.setName("大树精");

        MonsterAnnotation annotation = sqlsession.getMapper(MonsterAnnotation.class);
        annotation.addMonster(monster);

    }
相关推荐
阿维的博客日记17 分钟前
Hippo4j 线程池监控平台部署手册
java·spring boot·后端
C+++Python2 小时前
详细介绍一下Java泛型的通配符
java·windows·python
JosieBook3 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
一生了无挂4 小时前
Java处理JSON技巧教学(从基础到高阶实战全覆盖)
java·开发语言·json
李白的天不白4 小时前
使用 SmartAdmin 进行前后端开发
java·前端
swordbob5 小时前
Spring 单例 Bean 是线程安全的吗?
java·开发语言
2601_951643775 小时前
Python第一,Java跌出前三,C语言杀回来了
java·c语言·python·编程语言排行·技术趋势
腾科IT教育6 小时前
Spring AI Alibaba 向量(VectorStore)
人工智能·spring·microsoft
IT 行者7 小时前
GitHub Spec Kit 实战(五):/speckit.tasks 怎么拆——Spec Kit 五部曲收官
java·ai编程·claude
(Charon)7 小时前
【C++ 面试高频基础:指针、引用、const、static、new/delete 总结】
java·开发语言