当前位置: 首页 > 工具软件 > Mybatis-JPA > 使用案例 >

mybatis和JPA

訾雅畅
2023-12-01

mybatis是目前主流是ORM框架,没有之一,同时也有很多的缺点,比如需要手写sql语句,对于道行不深的程序员来说难度颇大。对于新手程序员以及单表查询较多的项目 SpringDataJPA就可以完全应对,这个框架内部封装的是Hibernate,只需要手动建立对应数据库的pojo,并且建立一个接口,将pojo与框架绑定起来即可使用框架提供好了的方法。

//建立pojo与框架的关系
public interface AccountRepository extends JpaRepository<Account, Integer> {
    Optional<Account> findByIdBetween(int min, int max);
}

关系建立好了,就可以很方便的从service层中调用JPA已经为你实现好的api。

//JPA是基于hibernate的再次封装,真的很简洁有没有 
public List<Account> findAll() {
        //查询所有数据
        return accRep.findAll();

    }

JPA非常适合在SpringBoot下的快速开发,多表查询使用次数不多的情况下 JPA就完全足够了。

一个框架的优点同样也是他的缺点,被过度封装 不易扩展,不符合设计原则中的开闭原则(面对更改关闭,面对扩展开放)。这个时候Mybatis可以很好的补充JPA的不足。

Mybatis依赖程序员在xml配置文件中手写sql,建立映射,因此可以相对的保证性能,不会过于黑盒。手写sql倒是无所谓,建立映射就会导致大量的重复代码的出现,这时候就出现了Mybatis-plus

mybatis和mybatis-plus这哥俩很有意思,Mybaits负责一线战斗,完成数据的拆箱装箱任务以及数据库连接池的控制。在SpringBoot里内置了一个叫黑卡日的连接池,号称效率略胜与Druid和出c3p0.Mybatis-plus就负责各种后方补给的运输。比如自动生成与数据库对应的Controller,mapper,甚至带有sql语句的xml文件也能给你自动生成。

小编最近在逛github的时候发现一个国人贡献的mybatis-plus-generator更加智能,可以图形界面操作,只需要手动调调参就可以生成代码。感兴趣的小伙伴可以自己搜索

Mybatis-generator-gui。

每篇文章皆为原创,只为对得起读者的每一分钟。如果觉得不错,不妨点个关注再走,或者留个赞。

不定期更新好文章,java基础,开发经验等等。

 

 类似资料: