JAVA项目中的MyBatisPlus使用

暂时没有写引入那些依赖  如果有需要的用户可以评论上 我后续添加
实体层代码:

CommonEntity  公共类

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;

/**
 * 公共实体
 */
@Data
public class CommonEntity implements Serializable {

    //主键ID
    @TableId
    private String id;


    //是否删除 0否1是
    @TableField("is_delete")
    private String isDelete;

    //创建时间
    @TableField("create_time")
    private String createTime;

    // 创建人id
    @TableField("create_person_id")
    private String createPersonId;

    //更新时间
    @TableField("update_time")
    private String updateTime;

    //更新人id
    @TableField("update_person_id")
    private String updatePersonId;

    @TableField(exist = false)
    private Integer pageNum;//页码

    @TableField(exist = false)
    private Integer pageSize;//每页查询条数
}
@Data
@TableName(value = "inverter")//表名
public class InverterDo extends CommonEntity {
    /**
     * 
     */
    @TableField(value = "equipment_name", jdbcType = JdbcType.VARCHAR)
    private String equipmentName;
    /**
     * 
     */
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private String equipmentTime;
    /**
     * 
     */
    @TableField(exist = false)
    private String stationId;
@TableField(exist = false)
private Integer pageNum;//页码

@TableField(exist = false)
private Integer pageSize;//每页查询条数
    }

Mapping层使用的:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface InverterMapper extends BaseMapper<InverterDo> {

/**
 * 分页查询
 *
 * @param page
 * @return
 */
IPage<InverterDo> findInPage(Page page, @Param("map") InverterDo inverterDo);
/**
 * 详情
 * @return
 */
InverterDo getById(@Param("inverterId") String inverterId);
}

Service层使用:

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
@Service
public class InverterServiceImpl extends ServiceImpl <InverterMapper,InverterDo> implements InverterService {
    @Resource
    private InverterMapper inverterMapper;
/** * 列表*/
@Override
public DtoResult findInPage(InverterDo inverterDo) {
    Page<InverterDo> page = new Page<>(inverterDo.getPageNum(),         inverterDo.getPageSize());
    IPage<InverterDo> inverterDoIPage= inverterMapper.findInPage(page,inverterDo);
    return DtoResult.ok(inverterDoIPage);
}
/** * 详情*/
@Override
public EarningsCountDo getById(String inverterId) {
    return super.getById(inverterId);
}
/** * 保存*/
public Boolean addBatch(List<EarningsCountDo> earningsCountDos) {
    for (EarningsCountDo i : earningsCountDos) {
        i.setId(IdUtil.simpleUUID());
        super.save(i);
    }
    return true;
}

}

@Service
public interface AttachmentService extends IService<Attachment> {}

Controller层使用:

@Api(tags = "111")
@RestController
@RequestMapping(value = "/interver")
public class IncerterController {
    @Resource
    private InverterService inverterService;
    @Resource
    private InverterDetailService inverterDetailService;
    /**
     *列表分页
     * @return ResBody
     */
    @PostMapping("/findInPage")
    @ResponseBody
    public DtoResult findApplyPage(@RequestBody InverterDo inverterDo) {

        return inverterService.findInPage(inverterDo);
    }
/**
 *详情
 * @return ResBody
 */
@GetMapping("/findById")
@ResponseBody
public DtoResult getById(@RequestParam("inverterId") String inverterId){
    return DtoResult.ok(inverterService.getById(inverterId));
};
/**
 * 添加
 *
 * @return ResBody
 */
@PostMapping(value = "/save")
public DtoResult add(@RequestBody List<EarningsCountDo> earningsCountDos) {
    return DtoResult.ok(earningsCountService.addBatch(earningsCountDos));
}
/**
 * 删除
 */
@GetMapping(value = "/remove")
public DtoResult remove(@RequestParam("id") String id) {
    return DtoResult.ok(earningsCountService.removeId(id));
}
/**
 * 修改
 */
@PostMapping(value = "/update")
public DtoResult update(@RequestBody EarningsCountDo earningsCountDo) {
    return DtoResult.ok(earningsCountService.updateBatch(earningsCountDo));
}        

Mapping.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sjjc.inverter.mapping.InverterMapper">
<sql id="baseSql">
i.id,i.equipment_name as equipmentName
from inverter i
</sql>
<select id="findInPage" resultType="com.sjjc.inverter.model.InverterDo">
    select
    <include refid="baseSql"></include>
    <where>
        <if test="map.id != '' and map.id != null">
            and i.id = #{map.id}
        </if>
        <if test="map.equipmentName != '' and map.equipmentName != null">
            and i.equipment_name LIKE CONCAT('%',#{map.equipmentName},'%') ESCAPE                 '/'
        </if>
--这个是比如表里面存 1,2,3 拼接字符串 先把拼接的放到list里面然后用find_in_set函数
--用or隔开  为:and(find_in_set(1,aisle) or find_in_set(2,aisle))

<if test="tCarAisle.aisleList != null and tCarAisle.aisleList.size() > 0">
    and
    <foreach collection="tCarAisle.aisleList" item="aisle" index="index" separator="or" open="(" close=")">
        find_in_set(#{aisle}, aisle)
    </foreach>
</if>
<if test="map.existProjIds != null and map.existProjIds.size() > 0 ">
    AND a.id NOT IN
    <foreach collection="map.existProjIds" item="id" index="index" separator="," open="(" close=")">
        #{id}
    </foreach>
</if>

// service层需要判断一下
if(appIds.size()==0){ appIds.add(0l); }

<if test="appIds.get(0) != 0l ">
    and sa.APP_ID NOT in
    <foreach collection="appIds" item="appId" open="(" separator="," close=")">
        #{appId}
    </foreach>
</if>
<if test="map.deptList != null and map.deptList.size() > 0 ">
    AND  ( a.dept_id IN
    <foreach collection="map.deptList" item="deptId" index="index" separator="," open="(" close=")">
        #{deptId}
    </foreach>
    <if test="map.deptfenguan != null and !''.equals(map.deptfenguan)">
        or (a.DEPARTMENTS_ID = #{map.deptfenguan} or a.LEAD_ID = #{map.deptfenguan} )
    </if>
    )
</if>

</select>
<insert id="insertIncomeCheck">
    insert into income_check
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="id != null">id,</if>
        <if test="checkNo != null">check_no,</if>
     </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
        <if test="id != null">#{id},</if>
        <if test="checkNo != null">#{checkNo},</if>
     </trim>
</insert>






</mapper>

utils:
DtoResult::

package com.utils;

/**
 * 结果返回
 */
public class DtoResult<T> {
    public static final int STATUS_CODE_SUCCESS = 200;
    public static final int STATUS_CODE_ERROR = 500;

    private int code;
    private String message;
    private T data;

    public DtoResult() {
        this.setCode(STATUS_CODE_SUCCESS);
    }

    public DtoResult(T data) {
        this();
        this.data = data;
    }

    public DtoResult(Integer code, String message, T data) {
        this.setCode(code);
        this.message = message;
        this.data = data;
    }

    public DtoResult(Integer code, String message) {
        this.setCode(code);
        this.message = message;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public static <T> DtoResult<T> ok() {
        return new DtoResult<T>(STATUS_CODE_SUCCESS, "操作成功", null);
    }

    public static <T> DtoResult<T> ok(T data) {
        return new DtoResult<T>(STATUS_CODE_SUCCESS, "操作成功", data);
    }

    public static <T> DtoResult<T> ok(String message, T data) {
        return new DtoResult<T>(STATUS_CODE_SUCCESS, message, data);
    }

    public static <T> DtoResult<T> error() {
        return new DtoResult<T>(STATUS_CODE_ERROR, "数据异常");
    }

    public static <T> DtoResult<T> error(String message) {
        return new DtoResult<T>(STATUS_CODE_ERROR, message);
    }

    public static <T> DtoResult<T> error(Integer code, String message) {
        return new DtoResult<T>(code, message);
    }

    public T getData() {
        return this.data;
    }

    public int getCode() {
        return this.code;
    }

    public String getMessage() {
        return this.message;
    }

    public void setData(T data) {
        this.data = data;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

application.yml

mybatis-plus:
  type-handlers-package: com.support.mp.typeconvter
  mapper-locations: classpath*:com/**/mapping/*.xml,classpath*:/mapping/*.xml,classpath*:comnvgk/**/mapping/*.xml
  typeAliasesPackage: com.**.model,com.xxxx.**.model
  typeEnumsPackage: com.common.constant.enums
  check-config-location: true
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值