乐趣区

关于java:Mapper注解的介绍

SpringBoot 整合 MyBatis 框架

    Mybatis 是一个优良的长久层框架,什么是长久层呢?就是能够长时间保留数据到数据库或者硬盘当中,不会像放在内存中,一断电就失落了。@Mapper 注解是由 Mybatis 框架中定义的一个形容数据层接口的注解,注解往往起到的都是一个描述性作用,用于通知 sprigng 框架此接口的实现类由 Mybatis 负责创立,并将其实现类对象存储到 spring 容器中。首先咱们须要引入 jar 包(依赖), 别离是 JDBC、MYSQL、MYBATIS。

    
    而后创立一个接口类,类的下面须要写上 @Mapper 正文用来示意该接口类的实现类对象交给 mybatis 底层创立,而后交由 Spring 框架治理。

    
    类里写上一个通过 ID 删除数据库中的一个表数据的形象法法,用 Mapper 接口开发模式的注解写法,我写的 SQL 语句是通过 ID 进行删除,SQL 语句中的 #{}。是一种占位符,通过办法里的形式参数传入进去这个值,所以办法里须要传入一个包装类型或者整数类型的参数。

    
    再创立一个测试类,用来测试接口中的类的办法可否调用,测试类的下面要写上 @SpringBootTest 注解示意这个测试类交给 Spring 框架治理,申明一个接口类型的属性而后下面用 @Autowired 注解示意将这个接口类的实现类对象赋值给接口属性,而后写上一个办法,办法体里利用 test 对象调用接口中的 testdelete 删除办法,返回值是一个整数的类型的变量。输入这个变量,示意是数据库表中被影响行数。我删除的是 id 为 5 这个信息所以只有 1 个影响行数。

    这里有一个疑难咱们并没有创立这个接口类的实现类对象,为什么能够调用这个办法呢?起因是咱们不必本人创立该接口的实现类对象而是在这个接口上采纳了 @Mapper 注解让 Mybatis 底层为咱们创立这个接口的实现类对象所以咱们能够间接调用它的办法。如何查看这个对象的值呢,咱们能够利用 Debug 形式运行程序。再程序的第 16 行打上一个断点而后,鼠标右键执行 Debug 运行形式,再将鼠标挪动到 test 这个变量上,会弹出一个界面。

    这个界面中显示的 test=$Proxy58 就是 Mybatis 为咱们创立的实现类对象,Proxy 是代理的意思 58 是编号是随机的,也就是 test 这个接口的实现类是一个代理对象。这个代理对象被存储到 spring 容器中通过 @Autowired 主动注入到这个接口属性对象。所以咱们能力调用这个办法。
退出移动版