springboot_data_access_demo基于rapid,根据自定义模版生成的基于mybatis+mysql的数据库访问示例项目。简单配置数据库信息,配置不同的生成策略生成可以直接运行访问数据库的项目,吸取了mybatis generator的动态条件优势,同时又稍有扩展。可以生成简单易懂的sql,支持大部分单表操作,一般情况下不需要自己动手写sql。模板可以根据自己需求做相应的修改(如有需要可以提供springboot_data_access_demo项目的生成模板)。支持的方法有:

    /** 根据id查询 */
    XXXXEntity getByPrimaryKey(Long id);

    /** 根据ids查询 */
    List<XXXXEntity> getByPrimaryIds(@Param("ids") List<Long> ids);

    /** 根据条件查询 */
    XXXXEntity getSingleByPredicate(XXXXExample example);

    /** 根据条件查询所有 */
    List<XXXXEntity> getAllByPredicate(XXXXExample example);

    /** 根据条件查询 */
    int queryCount(XXXXExample example);

    /** 分页查询(配合pageHelper) */
    List<XXXXEntity> getXXXXByPage(XXXXExample example);

    /** 根据key更新除了key以外的其他字段 */
    int updateByPrimaryKey(@Param("record") XXXXEntity record);

    /** 按条件更新 */
    int updateByPredicate(@Param("record") XXXXEntity record, @Param("example")XXXXExample example);

    /** 新增记录 */
    int insert(XXXXEntity entity);

    /** 批量新增 */
    int batchInsertXXXX(@Param("list") List<XXXXEntity> list);

生成的mapper.xml示例

生成结构

生成的项目结构:

springboot+mybatis项目自动生成-LMLPHP

目前仅支持单个数据库的配置,后续考虑同时支持多个。此项目是以名为Test的数据库生成的示例(示例地址)。

  • com.demo.gener.configuration.dbconfig : 包下是以数据库名 + Configuration命名的数据库配置类(eg : TestConfiguration)
  • com.demo.gener.entity.test : 名为test的库下的所有实体(包含实体类 和 predicate(查询条件))
  • com.demo.gener.mapper.test : mapper接口
  • conf/mybatis/test : mapper对应的xml
10-04 22:06