Sharding-jdbc报错:Missing the data source name:‘m0‘解决方案
异常描述
### Error updating database. Cause: java.lang.IllegalStateException: Missing the data source name: 'm0'
### The error may exist in com/zzg/mapper/OrderMapper.java (best guess)
### The error may involve com.zzg.mapper.OrderMapper.insert-Inline
### The error occurred while setting parameters
### Cause: java.lang.IllegalStateException: no table route info] with root cause
java.lang.IllegalStateException: no table route info
异常造成原因
@RequestMapping(value = "/batchInsert", method = { RequestMethod.GET }) public Object batchInsert() { for (int i = 0; i < 10; i++) { Order order = new Order(); order.setPrice(new BigDecimal(Math.random())); order.setUserId(new Random().nextLong()); order.setStatus("0"); orderService.save(order); } return "批量新增成功"; }
使用MyBatis-plus 新增Order 实体属性时,提示Missing the data source name: 'm0'
造成原因是由于userId的属性值,我使用的是随机函数生成的Long 值进行填充,导致sharding-jdbc 路由引擎执行分析时与自己定义的数据库规则计算值异常导致输出了一个不存在的数据源。
调整后的插入功能代码:
@RequestMapping(value = "/batchInsert", method = { RequestMethod.GET }) public Object batchInsert() { for (int i = 0; i < 10; i++) { Order order = new Order(); order.setPrice(new BigDecimal(Math.random())); order.setUserId(Long.valueOf("" + i)); order.setStatus("0"); orderService.save(order); } return "批量新增成功"; }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
swagger注解@ApiModelProperty失效情况的解决
这篇文章主要介绍了swagger注解@ApiModelProperty失效情况的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06Java通过反射机制将对象封装成JSON和JsonArray格式
这篇文章主要介绍了Java通过反射机制将对象封装成JSON和JsonArray格式,JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法,需要的朋友可以参考下2023-10-10SpringBoot使用validation-api实现对枚举类参数校验的方法
这篇文章主要介绍了SpringBoot使用validation-api实现对枚举类参数校验,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11在MyBatis中实现一对多查询和多对一查询的方式详解(各两种方式)
今天通过两种方法分别给大家介绍在MyBatis中实现一对多查询和多对一查询的方式,每种方式通过实例代码给大家介绍的非常详细,需要的朋友参考下吧2022-01-01SpringBoot中@ComponentScan注解过滤排除不加载某个类的3种方法
这篇文章主要给大家介绍了关于SpringBoot中@ComponentScan注解过滤排除不加载某个类的3种方法,文中通过实例代码介绍的非常详细,对大家学习或者使用SpringBoot具有一定的参考学习价值,需要的朋友可以参考下2023-07-07
最新评论