SpringBoot mybits 查询为0条数据 但是在Navicat 中可以查询到数据

本文记录了一次数据库查询异常的问题排查过程,原因在于请求时附加了不必要的字符串,通过调整请求参数,成功解决了查询返回结果为空的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.页面请求:

915dbc49300880432d94b8b69284781f20c.jpg

数据库查询:

2018-07-16 17:56:25.054 DEBUG 17312 --- [nio-9010-exec-3] c.s.h.m.C.selectSelective                : ==>  Preparing: select id, card_number, customer_id, customer_name, mobile, `status`, creator_id, creator, create_time, updator_id, updator, update_time, remark, tab1, tab2 from t_customer_card where 1= 1 and card_number = ? 
2018-07-16 17:56:25.055 DEBUG 17312 --- [nio-9010-exec-3] c.s.h.m.C.selectSelective                : ==> Parameters: '653'(String)
2018-07-16 17:56:25.056 DEBUG 17312 --- [nio-9010-exec-3] c.s.h.m.C.selectSelective                : <==      Total: 0

Navicat 查询结果

有一条数据

原因是请求的时候加了不必要的字符串

将请求条件换成如下:

http://localhost:8383/sale/autoSalesOrder?cardNo=653&weight=90&floorScaleNo=0987

就没有问题。

 

当问题出现的时候,不要从一个方面看,也许是最初始的引用出了问题,用浏览器测试的时候需要多注意

转载于:https://my.oschina.net/kuchawyz/blog/1857568

### Spring Boot与MyBatis-Plus多表联查实现方法 #### 一、环境准备 为了能够顺利地完成Spring Boot与MyBatis-Plus的集成并进行多表联查的操作,需先准备好开发环境。这包括但不限于安装MySQL数据库以及用于管理该数据库的工具Navicat[^2]。 #### 二、项目搭建 创建一个新的Spring Boot工程,在`pom.xml`文件中加入必要的依赖项来引入MyBatis-Plus的支持: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版号</version> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> ``` 配置数据源信息于application.properties或yml文件内,指定JDBC URL、用户名及密码等参数以便连接到目标数据库。 #### 三、实体类定义 针对不同类型的关联关系(一对一、一对多、多对多),分别设计相应的JavaBean对象表示各个表格的数据结构,并通过@TableName注解指明所映射的具体表名;对于存在外键约束的情况,则可以利用@TableField(fill= FieldFill.INSERT_UPDATE)等方式处理字段填充逻辑。 ##### 用户(User)和订单(Order)之间的一对多关系为例: ```java // User.java import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; @Data public class User { @TableId(type = IdType.AUTO) private Long id; private String name; } // Order.java import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @Data @TableName("t_order") public class Order { @TableId(type = IdType.AUTO) private Long orderId; private Long userId; // 关联用户的ID private Double amount; } ``` #### 四、Mapper接口编写 基于上述实体类构建各自的Mapper接口继承自BaseMapper<T>泛型基类,从而获得CRUD功能的同时也能方便后续扩展其他业务需求。当涉及到复杂的查询场景时,可以通过XML方式或者注解形式定义SQL语句来进行联合检索操作。 ##### 对应上面提到的例子来说,如果想要获取某个用户及其所有的订单记录,可以在UserMapper中添加如下方法签名: ```java List<UserOrderVo> selectUserOrders(@Param("userId")Long userId); ``` 其中UserOrderVo是一个视图对象(View Object),用来封装最终返回给前端的结果集。 #### 五、Service层编码 在服务端内部调用之前声明好的DAO层API执行具体的读写动作,并负责协调多个持久化组件之间的交互过程。考虑到事务管理和异常捕获等因素的影响,建议采用AOP切面编程技术简化这部分代码的设计难度。 #### 六、Controller控制器暴露RESTful API 最后一步就是对外提供HTTP请求入口点了,即按照标准规范书写@RequestMapping标注下的处理器函数,接收来自客户端提交过来的各种参数后转发至后台做进一步加工计算再响应结果回去。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值