github学习项目--mall学习教程
https://www.macrozheng.com/mall/catalog/mall_catalog.html
Mybatis generator
配置文件介绍
MyBatis的代码生成器,可以根据数据库生成model、mapper.xml、mapper接口和Example,通常情况下的单表查询不用再手写mapper。
- 其中Example类中包含一个静态类Criteria,可以动态生成sql,不再用修改sql语句:
https://zhuanlan.zhihu.com/p/60166358 - 每次生成后会有提示哪些文件被覆盖,mapper.xml是追加的方式要先清空
mybatis两个内置参数:
- _parameter:代表整个参数
单个参数:_parameter就是这个参数
多个参数:参数会被封装为一个map:_parameter就是代表这个map - _databaseId:如果配置了databaseIdProvider标签
- _databaseId 就是代表当前数据库的别名,比如Oracle
注解说明
@MapperScan 注解和 mybatis.mapper-locations 配置两者缺一不可@MapperScan 注解和 mybatis.mapper-locations 配置两者缺一不可
- 使用generator先生成mapper类和xml,然后使用@MapperScan 注解和 mybatis.mapper-locations指定生成的包和xml
- @MapperScan是用来扫描javabean的, mybatis.mapper-locations 是用来扫描xml的,配置有问题会影响运行,运行初始化时失败。mapper-locations 支持配置多个
application.yml
mybatis:
mapper-locations:
- classpath:mapper/*.xml
- classpath*:com/**/mapper/*.xml
#classpath 和 classpath* 区别:
#classpath:只会到你的class路径中查找找文件;src对应的编译文件路径
#classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.
MyBatisConfig.java,实际放到Application主类上注解即可。
@Configuration
@MapperScan("com.macro.mall.tiny.mbg.mapper")
public class MyBatisConfig {
}
Swagger
@Api:用于修饰Controller类,生成Controller相关文档信息
@ApiOperation:用于修饰Controller类中的方法,生成接口方法相关文档信息
@ApiParam:用于修饰接口中的参数,生成接口参数相关文档信息
@ApiModelProperty:用于修饰实体类的属性,当实体类是请求参数或返回结果时,直接生成相关文档信息
使用Mybatis generator的注释生成CommentGenerator,在生成model类时注释就添加注解:@ApiModelProperty(数据库中字段注释),和导入包ApiModelProperty
https://www.macrozheng.com/mall/architect/mall_arch_02.html#给pmsbrandcontroller添加swagger注解