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主动注入到这个接口属性对象。所以咱们能力调用这个办法。