TkMybatis的使用

        TKMybatis 是基于 Mybatis 框架开发的一个工具,内部实现了对单表的基本数据操作,只需要简单继承 TKMybatis 提供的接口,就能够实现无需编写任何 sql 即能完成单表操作。

依赖引入

<dependency>
   <groupId>tk.mybatis</groupId>
   <artifactId>mapper-spring-boot-starter</artifactId>
   <version>2.1.5</version>
</dependency>

BaseOptMapper.java

        通用的操作类

import tk.mybatis.mapper.annotation.RegisterMapper;
import tk.mybatis.mapper.common.Marker;
import tk.mybatis.mapper.common.base.delete.DeleteMapper;
import tk.mybatis.mapper.common.base.insert.InsertMapper;
import tk.mybatis.mapper.common.base.insert.InsertSelectiveMapper;
import tk.mybatis.mapper.common.base.select.SelectCountMapper;
import tk.mybatis.mapper.common.base.select.SelectMapper;
import tk.mybatis.mapper.common.base.select.SelectOneMapper;
import tk.mybatis.mapper.common.base.update.UpdateByPrimaryKeyMapper;
import tk.mybatis.mapper.common.base.update.UpdateByPrimaryKeySelectiveMapper;

@RegisterMapper
public interface BaseOptMapper<T>
		extends SelectOneMapper<T>, SelectMapper<T>, SelectCountMapper<T>, InsertMapper<T>, InsertSelectiveMapper<T>,
		UpdateByPrimaryKeyMapper<T>, UpdateByPrimaryKeySelectiveMapper<T>, DeleteMapper<T>, Marker {

}

PersonDTO.java

        Person实体类,对应于person表

@Table(name = "person")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PersonDTO {

    private static final long serialVersionUID = 2242061288359096793L;

    @Id
    private UUID id;

    @ApiModelProperty(value = "姓名")
    @NotBlank(message = "姓名不能为空!")
    private String name;

    @ApiModelProperty(value = "地址")
    @NotBlank(message = "地址不能为空!")
    private String address;

    public UUID getId() {
        return id;
    }

    public void setId(UUID id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setName(String address) {
        this.address = address;
    }
    
}

PersonMapper.java

@Mapper
public interface PersonMapper extends BaseOptMapper<PersonDTO> {
    
}

PersonController.java

@RestController
@RequestMapping("/person")
public class PersonController {

    @Autowired
    private PersonService personService;

    @PostMapping("/add")
    @ResponseBody
    public Result add(@Validated PersonDTO personDTO, BindingResult bindingResult) {
        if (bindingResult.hasErrors()) {
            return Result.error(bindingResult.getFieldError().getDefaultMessage());
        }
        int rows = personService.add(personDTO);
        return rows > 0 ? Result.ok() : Result.error();
    }
}

PersonService.java

public interface PersonService {
       int add(List<CarbonEmissionRecordDetailDTO> updates);
}

PersonServiceImpl.java

          这里就写了插入,其他的类推。

@Service
@Transactional
public class PersonServiceImpl implements PersonService {

    @Autowired
    private PersonMapper personMapper;

    @Override
    public int add(PersonDTO param) {
        param.setId(UUID.randomUUID().toString());
        return personMapper.insertSelective(param);
    }
}
Sure! 这里是一个简单的使用 TkMyBatis 的示例: 首先,你需要在你的项目中引入 TkMyBatis 的依赖,可以在 pom.xml 文件中添加以下内容: ```xml <dependency> <groupId>org.mybatis</groupId> <artifactId>tk-mybatis</artifactId> <version>版本号</version> </dependency> ``` 接下来,你需要创建一个实体类,用于映射数据库表的字段。例如,我们创建一个名为 User 的实体类: ```java public class User { private Long id; private String name; // 省略其他字段的 getter 和 setter 方法 } ``` 然后,你需要创建一个 Mapper 接口,用于定义数据库操作的方法。这个接口需要继承 `Mapper<T>`,其中 T 是你的实体类。例如,我们创建一个名为 UserMapper 的接口: ```java public interface UserMapper extends Mapper<User> { // 省略其他方法 } ``` 接下来,在你的配置文件中配置 MyBatisTkMyBatis。例如,在 application.properties 文件或 application.yml 文件中添加以下内容: ```yaml mybatis: mapper-locations: classpath:mapper/*.xml config-location: classpath:mybatis-config.xml ``` 在这个配置文件中,你需要指定 Mapper 接口和映射文件的位置。 然后,你可以创建一个名为 UserMapper.xml 的映射文件,在这个文件中定义具体的 SQL 查询语句。例如,我们可以编写一个简单的查询所有用户的 SQL: ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="selectAll" resultType="com.example.entity.User"> SELECT * FROM user </select> </mapper> ``` 最后,在你的代码中使用 UserMapper 接口来进行数据库操作。例如,你可以在你的 Service 类中注入 UserMapper 并调用其方法: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> getAllUsers() { return userMapper.selectAll(); } } ``` 这就是一个简单的 TkMyBatis 使用示例。当然,TkMyBatis 还提供了许多其他功能,比如条件查询、分页查询等,你可以根据具体需求进行使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像向日葵一样~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值