一、构建mybatis-plus步骤:
1、先导入jar包:
<!--导入MP的jar包文件-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
2、修改yml文件:将mybatis修改成mybatis-plus
3、在pojo包下对用的属性类中声明@Tablename()和@TableId(type =IdType.AUTO ) ,
@TableField(exist = false) 表示该属性不是表字段。
4、在对应的mapper接口文件中去继承 BaseMapper<对应的pojo类名>
二、QueryWrapper条件构造器--动态拼接where条件
1、经常用到的关键字:
2、条件查询:condition=true 负责并将条件,false 不拼接条件。
判断字符串是否为null,使用的API是StringUtils.hasLength(),返回值是false 或者true
放在queryWrapper中判断,然后是否拼接条件。
3、动态查询主键字段(第一列数据) 适用范围,进行关联查询时使用。
userMapper.selectObjes();
三、动态回显数据mybatis写法
/**
* 问题: id是主键自增. 入库之后才有主键所以
* 应该让主键动态回显
* 1.Mybatis 动态实现回显
* <insert id="xxxx" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
* insertinto xxxx
* </insert>
* 2.MP是mybatis的增强版本.所以可以实现自动的主键回显!!!
* @param itemVO
*/
@Override
@Transactional
public void saveItem(ItemVO itemVO) {
Item item = itemVO.getItem();
//设定状态
item.setStatus(true);
itemMapper.insert(item);
//获取商品详情
ItemDesc itemDesc = itemVO.getItemDesc();
itemDesc.setId(item.getId());
itemDescMapper.insert(itemDesc);
}