使用 mybatis 来实现 jpa 的部分功能,可以与 spring-data-jpa 进行结合操作。
1.1 定义 mapper
定义 mapper 时,继承自 JpaRepository 接口,便可以获得一些基础的增删改查的操作。如:
public interface UserDao extends JpaRepository<User, String> { //这个自定义方法是标准的spring-data-jpa 定义方式 List<User> findByFullName(String name); }
如果定义了自定义的方法,那么需要在 mapper xml 文件里面定义对应的查询 sql。
1.2 使用这个 dao
//使用spring-data-jpa JpaRepository 接口中定义的方法 SpringApplication.run(MyJpaSamplesApplication.class, args).getBeanFactory().getBean(UserDao.class).getOne("1");
使用此框架的优点在于,结合了 jpa 与 mybatis。如果不需要使用 mybatis 时,替换此框架换为 hibernate 即可无逢切换,无需改动我们的代码本身。
当然此框架受限于 mybatis,无法支持 jpa 的一些特性,如对象状态等。
此框架目前还在持续开发中,不是太稳定,欢迎大家一起出力维护此框架。