1、安装插件
Settings–>Plugins–>搜索mybatisplus
2.重启IDEA,连接mysql
3、配置代码生成规则
1)选择表:上图选择需要生成的表(serve_type表)。
2)设置生成代码的根目录:上图设置generator
3)设置包路径:上图设置为com.jzo2o.foundations
4)主键生成策略:根据表中主键的生成策略进行选择
5)勾选要生成的类及包路径(Entity、Mapper、Controller、Service、ServiceImpl)。
6)勾选是否生成lombok注解、restController注解、swagger注解等。
点击“check field”选择表中的字段。
点击“code generatro”生成代码。
生成成功在项目工程根目录有一个generator目录,里边为生成的代码,如下图:
Mapper开发
自定义mapper接口的需求则需要自定义mapper接口及mapper映射文件,根据需求本接口要返回的数据包括多张表的数据,而MybatisPlus提供的CRUD是针对单表的,下边定义mapper实现多表关联查询。
定义mapper接口
public interface ServeMapper extends BaseMapper<Serve> {
/**
* 根据区域查询服务列表
* @param regionId
* @return
*/
List<ServeResDTO> queryServeListByRegionId(@Param("regionId") Long regionId);
}
定义mapper映射
<?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.jzo2o.foundations.mapper.ServeMapper">
<select id="queryServeListByRegionId" resultType="com.jzo2o.foundations.model.dto.response.ServeResDTO">
SELECT
serve.id,
serve.sale_status,
serve.serve_item_id,
item.name AS serve_item_name,
item.serve_type_id,
serve.region_id,
item.reference_price,
serve.price,
serve.is_hot,
serve.create_time,
serve.update_time,
type.id serve_type_id,
type.name serve_type_name
FROM
serve
inner JOIN serve_item AS item ON serve.serve_item_id = item.id
inner JOIN serve_type AS type ON item.serve_type_id = type.id
WHERE
serve.region_id = #{regionId}
</select>
</mapper>
主键生成策略
- AUTO:基于数据库的自增主键
- NONE: 不设置id生成策略
- INPUT:用户手工输入id
- ASSIGN_ID:雪花算法生成id(可兼容数值型与字符串型)
- ASSIGN_UUID:以UUID生成算法作为id生成策略