1. ##定义初始变量
    2. #set($tableName = $tool.append($tableInfo.name, "Mapper"))
    3. ##设置回调
    4. $!callback.setFileName($tool.append($tableName, ".java"))
    5. $!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper"))
    6. ##拿到主键
    7. #if(!$tableInfo.pkColumn.isEmpty())
    8. #set($pk = $tableInfo.pkColumn.get(0))
    9. #end
    10. #if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}mapper;
    11. import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
    12. import java.util.List;
    13. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    14. import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
    15. /**
    16. * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
    17. *
    18. * @author $!author
    19. * @since $!time.currTime()
    20. */
    21. public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {
    22. /**
    23. * 通过ID查询单条数据
    24. *
    25. * @param $!pk.name 主键
    26. * @return 实例对象
    27. */
    28. $!{tableInfo.name} queryById($!pk.shortType $!pk.name);
    29. /**
    30. * 统计总行数
    31. *
    32. * @param $!tool.firstLowerCase($!{tableInfo.name}) 查询条件
    33. * @return 总行数
    34. */
    35. long count($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
    36. /**
    37. * 新增数据
    38. *
    39. * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象
    40. * @return 影响行数
    41. */
    42. int insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
    43. /**
    44. * 批量新增数据(MyBatis原生foreach方法)
    45. *
    46. * @param entities List<$!{tableInfo.name}> 实例对象列表
    47. * @return 影响行数
    48. */
    49. int insertBatch(@Param("entities") List<$!{tableInfo.name}> entities);
    50. /**
    51. * 批量新增或按主键更新数据(MyBatis原生foreach方法)
    52. *
    53. * @param entities List<$!{tableInfo.name}> 实例对象列表
    54. * @return 影响行数
    55. * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
    56. */
    57. int insertOrUpdateBatch(@Param("entities") List<$!{tableInfo.name}> entities);
    58. /**
    59. * 修改数据
    60. *
    61. * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象
    62. * @return 影响行数
    63. */
    64. int update($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
    65. /**
    66. * 通过主键删除数据
    67. *
    68. * @param $!pk.name 主键
    69. * @return 影响行数
    70. */
    71. int deleteById($!pk.shortType $!pk.name);
    72. }