SpringBoot集成mybatis-plus框架

目前行业内比较流行mybatis-plus框架,该框架封装了sql的基本操作,在实际项目过程中,节省了大量的开发时间,且框架本身属于轻量级,引入非常方便,故整理出来,方便大家参考学习!

maven依赖:

		<!--mybatis-plus 3.3.2-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <!--分页插件 5.2.0 配合使用-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
        <!--lombok 实体类注解-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.16</version>
            <scope>provided</scope>
        </dependency>

实体类示例:

package xxx;

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

import java.io.Serializable;

/**
 * 公司信息
 * @author pansh
 * @since 2021-11-2 09:31:053
 */
@Data
public class TpCompany implements Serializable {

    private static final long serialVersionUID = 41700485622670746L;

    /**
     * 主键,自增
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    private String companyName;

    private String companyAddress;

    /**
     * 1私企、2门店、3社区
     */
    private int companyType;

    private String phone;

    private String country;

    private String countryCode;

    private Long createBy;

    private Long updateBy;

    @TableField(exist = false)
    private int userType;
}

Mapper 示例:

package xxx;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

public interface CompanyMapper extends BaseMapper<TpCompany> {

	List<TpCompany> selectCompanyListByUserId(Long userId);
}

Mapper.xml 示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxx.xxx.xxx.user.mapper.CompanyMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.xxx.xxx.xxx.user.domain.TpCompany">
        <id column="ID" property="id" />
        <result column="company_name" property="companyName" />
        <result column="company_address" property="companyAddress" />
        <result column="company_type" property="companyType" />
        <result column="phone" property="phone" />
        <result column="country" property="country" />
        <result column="country_code" property="countryCode" />
        <result column="user_type" property="userType" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        ID, company_name, company_address, company_type, phone, country, country_code
    </sql>

    <!--  获取用户公司列表信息  -->
    <select id="selectCompanyListByUserId" resultMap="BaseResultMap">
        select tc.ID, company_name, company_address, company_type, phone, country, country_code ,tuc.user_type from tp_company tc, tp_user_company tuc where tc.id = tuc.company_id and user_id = #{userId}
    </select>

</mapper>

service接口示例:

package xxx;

import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

/**
 * 公司业务类
 * @author pansh
 * @since 2021-11-2 10:46:19
 */
public interface ICompanyService extends IService<TpCompany> {

    /**
     * 获取用户公司列表信息
     * @param userId
     * @return
     */
    List<TpCompany> selectCompanyListByUserId(Long userId);
}

service 实现类示例:

package xxx;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sf.tools.StringUtils;

import javax.annotation.Resource;
import java.util.List;

@Service
public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, TpCompany> implements ICompanyService {

    @Override
    public List<TpCompany> selectCompanyListByUserId(Long userId) {
        return baseMapper.selectCompanyListByUserId(userId);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值