Springboot 快速集成 MyBatis-Plus
- 引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.2</version>
</dependency>
- 测试实体类
@Data
public class FacePerson implements Serializable {
private Long id;
private String name;
private byte[] feature;
private Long imageId;
private String imageUrl;
}
- Service 接口和 ServiceImpl
public interface FacePersonService {
List list();
int add(FacePerson facePerson);
IPage<FacePersonDTO> page(Page<FacePersonDTO> page, FacePersonQuery query);
int delete(Long id);
}
@Service
public class FacePersonServiceImpl implements FacePersonService {
@Autowired
private FacePersonMapper facePersonMapper;
@Override
public List list() {
return facePersonMapper.selectList(null);
}
@Override
@Transactional
public int add(FacePerson facePerson) {
return facePersonMapper.insert(facePerson);
}
@Override
public IPage<FacePersonDTO> page(Page<FacePersonDTO> page, FacePersonQuery query) {
return facePersonMapper.page(page,query);
}
@Override
public int delete(Long id) {
return facePersonMapper.deleteById(id);
}
}
- Mapper接口和xml
public interface FacePersonMapper extends BaseMapper<FacePerson> {
IPage<FacePersonDTO> page(Page<FacePersonDTO> page, @Param("param")FacePersonQuery query);
}
xml 放于默认位置 resource/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="top.yinjinbiao.arcface.mapper.FacePersonMapper">
<resultMap id="BaseResultMap" type="top.yinjinbiao.arcface.domain.entity.FacePerson">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="feature" jdbcType="BLOB" property="feature" />
<result column="image_id" jdbcType="BIGINT" property="imageId"></result>
<result column="image_url" jdbcType="VARCHAR" property="imageUrl"></result>
</resultMap>
<select id="page" resultType="top.yinjinbiao.arcface.domain.dto.FacePersonDTO">
select
t.id,
t.name,
t.image_url from face_person t
<where>
<if test="param.name != null ">
and t.name like concat('%', #{param.name,jdbcType=VARCHAR}, '%')
</if>
</where>
</select>
</mapper>
- 加入
@MapperScan
注解,指定mapper接口所在包
@SpringBootApplication
@MapperScan(basePackages = {"top.yinjinbiao.arcface.mapper"})
public class ArcfaceApplication {
public static void main(String[] args) {
SpringApplication.run(ArcfaceApplication.class, args);
}
}
application.yml
中加入配置
mybatis-plus:
mapper-locations: classpath*:/mapper/*Mapper.xml
typeAliasesPackage: top.yinjinbiao.arcface.domains.entity
global-config:
db-config:
id-type: auto