genericdao - 结合了JPA和Mybatis各自优势的DAO插件

利用JPA单表快速开发的优势和Mybatis构造SQL的灵活性,解决JPA和mybatis同时使用时的一些扩展性和兼容性问题。

功能简介

Quick start

JPA配置

@EnableJpaRepositories(basePackages={"basePackages"} ,
    repositoryFactoryBeanClass=GenericJpaRepositoryFactoryBean.class) 

使用javaConfig配置方法,其中GenericJpaRepositoryFactoryBean是为扩展后的JpaRepositoryFactory,其中定义了扩展后的JPA底层DAO接口及接口方法的查找方式。

Mybatis配置

//创建Configuration对象
Configuration configuration = new Configuration() ;
//替换Configuration中默认的ObjectWrapperFactory
configuration.setObjectWrapperFactory(new JPAObjectWrapperFactory()) ;
//替换sqlSessionFactoryBean中默认的Configuration对象
sqlSessionFactoryBean.setConfiguration(configuration);

在ObjectWrapperFactory能够指定ObjectWrapper,ObjectWrapper是Mybatis提供的一种java对象反射类,通过ObjectWrapper能够获取和设置object对象的属性。

参考开源项目
spring-data-jpa-extra
MyBatis通用Mapper3