一、构建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); ? ? } ?
|