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);

    }
相关推荐
亦暖筑序29 分钟前
AgentScope-Java 入门:用 Middleware 审计 Agent 调用
java·ai编程·agentscope
你驴我39 分钟前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
青山木1 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
小龙报2 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
自强的小白2 小时前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java
雪的季节2 小时前
Python 线程同步与异步编程 全解析
java·开发语言
吃饱了得干活2 小时前
缓存与数据库一致性:从理论到实战
java·后端·面试
520拼好饭被践踏2 小时前
JAVA+Agent学习day22
java·开发语言·后端·学习
笨蛋不要掉眼泪3 小时前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质3 小时前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端