#MyBatis-Plus
MyBatis-Plus是基于MyBatis的增强工具,在保留MyBatis使用方式的基础上提供通用Mapper、条件构造器和批量操作等功能。YashanDB JDBC驱动负责建立数据库连接并执行MyBatis-Plus生成的JDBC调用。
本章节仅说明与YashanDB JDBC驱动直接相关的配置。有关完整项目依赖、数据源配置、实体和Mapper示例及常见问题,请查阅YashanDB生态文档:MyBatis-Plus (opens new window)。MyBatis-Plus本身的配置和API用法请查阅MyBatis-Plus官方文档。
# 对接准备
对接前需要完成以下准备:
- 按照MyBatis-Plus官方文档为项目添加与Spring Boot版本匹配的Starter依赖。
- 安装与应用JDK版本匹配的YashanDB JDBC驱动。
- 准备可正常访问的YashanDB数据库和具有所需权限的数据库用户。
YashanDB JDBC驱动的获取和安装方法请参考安装JDBC驱动。
# 配置数据源
在Spring Boot应用的application.yml中配置YashanDB数据源:
spring:
datasource:
url: jdbc:yasdb://192.168.1.2:1688/yasdb
username: username
password: passwd
driver-class-name: com.yashandb.jdbc.Driver
连接串格式和参数请参考JDBC连接串配置参数。MyBatis-Plus复用MyBatis的数据源和事务管理机制,不需要配置专用的YashanDB连接方式。
# 定义实体和Mapper
使用@TableName指定YashanDB表名,使用@TableId指定主键映射。Mapper接口继承BaseMapper后,可以使用MyBatis-Plus提供的通用数据访问方法。
@TableName("customer")
public class Customer {
@TableId(value = "customer_id", type = IdType.INPUT)
private Integer customerId;
private String customerName;
// 省略getter和setter方法。
}
@Mapper
public interface CustomerMapper extends BaseMapper<Customer> {
}
示例使用IdType.INPUT,表示由应用设置主键值。使用数据库生成的主键时,应根据表的主键生成方式选择对应的IdType,并验证插入后主键回填结果。
# 使用说明
- 使用
IdType.AUTO时,数据表需要具备对应的主键自动生成机制。主键策略的具体含义应以当前MyBatis-Plus版本的官方文档为准。 - 条件构造器中使用字符串指定列名时,应使用YashanDB中实际存在的列名。使用实体属性的Lambda条件构造器可以减少列名拼写错误。
saveBatch等批量方法会转换为多次或批量JDBC操作。批量大小、事务边界和失败回滚策略应根据业务数据量进行设置。- 实体属性和查询结果类型应按照YashanDB与Java的数据类型映射关系配置,详情请参考JDBC与Java数据类型映射。
- CLOB、BLOB和NCLOB字段的处理方法请参考处理LOB类型。

