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

    }
相关推荐
Ylucius31 分钟前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
七夜zippoe1 小时前
分布式系统实战经验
java·分布式
是梦终空1 小时前
JAVA毕业设计176—基于Java+Springboot+vue3的交通旅游订票管理系统(源代码+数据库)
java·spring boot·vue·毕业设计·课程设计·源代码·交通订票
落落落sss1 小时前
sharding-jdbc分库分表
android·java·开发语言·数据库·servlet·oracle
码爸1 小时前
flink doris批量sink
java·前端·flink
Monodye2 小时前
【Java】网络编程:TCP_IP协议详解(IP协议数据报文及如何解决IPv4不够的状况)
java·网络·数据结构·算法·系统架构
一丝晨光2 小时前
逻辑运算符
java·c++·python·kotlin·c#·c·逻辑运算符
无名指的等待7122 小时前
SpringBoot中使用ElasticSearch
java·spring boot·后端
Tatakai253 小时前
Mybatis Plus分页查询返回total为0问题
java·spring·bug·mybatis
武子康3 小时前
大数据-133 - ClickHouse 基础概述 全面了解
java·大数据·分布式·clickhouse·flink·spark