乐趣区

关于java:crud-template-项目推广

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
退出移动版