pom文件
<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
yml配置
mapper:
mappers: com.huaqing.common.constant.TKMapper,tk.mybatis.mapper.common.Mapper,tk.mybatis.mapper.common.MySqlMapper
# 设置 insert 和 update 中,是否判断字符串类型不等于空
not-empty: true
启动类注解
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;
@MapperScan(basePackages = "com.water.*.mapper")
@SpringBootApplication
public class WaterApplication {
public static void main(String[] args) {
SpringApplication.run(WaterApplication.class, args);
}
}
通用类
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface TKMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
实体对象
@Data
@Table(name = "equipments")
public class Equipments implements Serializable {
private static final long serialVersionUID = -79337100357175395L;
@Id
private Long id;
private String equipName;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date installAt;
private String createBy;
private Date createAt;
private String modifyBy;
private Date modifyAt;
private Integer status;
private Integer delFlag;
@Transient
private String condition;
}
mapper接口
@Repository
public interface EquipmentsMapper extends TKMapper<Equipments> {
}
service接口
public interface EquipmentsService {
List<Equipments> queryAll(Equipments equipments);
}
service实现类
@Service
public class EquipmentsServiceImpl implements EquipmentsService {
@Resource
EquipmentsMapper equipmentsMapper;
@Override
public List<Equipments> queryAll(Equipments equipments) {
Example example = new Example(Equipments.class);
Example.Criteria criteria = example.createCriteria();
if (equipments.getCondition()!=null){
criteria.andLike("equipName", "%" + equipments.getCondition() + "%");
}
criteria.andEqualTo("status", equipments.getStatus())
.andEqualTo("delFlag", 0)
.andEqualTo("id", equipments.getId());
return equipmentsMapper.selectByExample(example);
}
}