crud template

  • 增删改查模板我的项目,旨在缩小反复代码.
  • 留神: 目前只反对redis-hash的数据类型
  • github: crud

性能

  • 单个表的数据库增删改查操作
  • 单个表的数据库+缓存的增删改查操作
  • 单个实体的缓存增删改查操作

如何应用

  • 在启动类上增加如下代码

    • daoType 可选项有 mybatis 和 mybatis-plus
    • scanPackages 用来填写须要扫描的实体包门路,反对多个
@EnableCrudTemplate(daoType = DaoType.MYBATIS_PLUS, scanPackages = {    "com.github.huifer.mybatis.plus.mybatis"})

mybatis 反对

  • 增加依赖
    <dependency>      <groupId>com.github.huifer</groupId>      <artifactId>for-mybatis</artifactId>      <version>0.0.4-SNAPSHOT</version>    </dependency>
  • 对mapper进行批改
@CacheKey(key = "issues", type = IssuesEntity.class)public interface IssuesMapper extends A<Integer, IssuesEntity> {}
  • 对实体进行批改
public class IssuesEntity implements BaseEntity {}

mybatis plus 反对

  • 增加依赖
    <dependency>      <groupId>com.github.huifer</groupId>      <artifactId>for-mybatis-plus</artifactId>      <version>0.0.4-SNAPSHOT</version>    </dependency>
  • 对mapper进行批改
@CacheKey(key = "issues", type = IssuesEntity.class)public interface IssuesMapper extends BaseMapper<IssuesEntity>,    AforMybatisPlus<Integer, IssuesEntity> 
  • 对实体进行批改
public class IssuesEntity implements BaseEntity {}
  • 调用层 mybatis 和 mybatis-plus 都是同一个入口
  @Autowired  private CrudFacade<IssuesEntity, IntIdInterface<Integer>> crudFacade;
  • 只须要引入CrudFacade组件就能够领有数据库+缓存的crud操作了. 如果不须要缓存请将mapper上的@CacheKey删掉

entity 反对

  • 给实体对象增加注解 @CacheKey

    • redis-hash field 取值阐明: idFiled=实体类的某个字段, idMethod=实体类中的一个办法,如果两者同时存在以idMethod为准, 倡议填写一个
@CacheKey(key = "tt", type = IssuesEntity.class, idFiled = "newTitle", idMethod = "ooo")public class IssuesEntity  {  private Integer id;  private String newTitle;  private String ooo() {    return "OOO" + this.newTitle;  }}

Contributers

  • @huifer