1问题
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in net.yto.global.edi.common.shared.po.TEdiTiktokExpand matching [java.lang.String, java.lang.String, java.sql.Timestamp, java.sql.Timestamp]
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy131.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:83)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy164.selectByPrimaryKey(Unknown Source)
时间: 2024年1月4日15:56:25
3过程分析
经验证是因为我在对应的java实体中手动新加了一个 非全参的构造方法
点击查看代码
@Data
@Table(name = "t_edi_tiktok_expand")
public class TEdiTiktokExpand {
/**
* 抖音订单号
*/
@Id
@Column(name = "tiktok_order_id")
private String tiktokOrderId;
/**
* 抖音商家id
*/
@Column(name = "tiktok_shop_id")
private String tiktokShopId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Timestamp createTime;
/**
* 修改时间
*/
@Column(name = "update_time")
private Timestamp updateTime;
public TEdiTiktokExpand(String tiktokOrderId, String tiktokShopId, Timestamp createTime) {
this.tiktokOrderId = tiktokOrderId;
this.tiktokShopId = tiktokShopId;
this.createTime = createTime;
}
}
4解决方案
1去除非全参构造
2增加注解@AllArgsConstructor
- selectByPrimaryKey MyBatis mapper bugselectbyprimarykey mybatis mapper bug mybatis-plus springboot mybatis mapper mybatis方法mapper mybatis方式mapper mybatis mapper and tk mybatis简介mapper mapper-locations mapperlocations mybatis-plus libraries mybatis mapper common mybatis-plus mybatis mapper plus mybatis类型mapper clob