SpringBoot实战2

目录

1.如何返回两个类型的数据?User和Booth

2.如何使用MyBatis遍历一个数组进行查询?

3.前端要的数据太多太杂,我们拼接多个List,前端找数据困难,浪费时间。因此我们进行三表联表查询。

1.首先创建一个vo包,专门用来解决数据不对应的问题,然后创建一个对应的VOjava类

2.在这个类中放任何你想要得到的数据,记得添加一个@Data注解

3.从controller调用service的方法,从service调用mapper的方法,mapper有对应的xml,xml中是与数据库进行交互的sql

四、总结


1.如何返回两个类型的数据?User和Booth

SpringBoot实战2_第1张图片

针对这两个不同类型的List,我们最后的返回值要求将这两个List组合起来,就可以返回一个Map,将两个list放入(put)map中。

2.如何使用MyBatis遍历一个数组进行查询?

类似这样的sql,我们如何在xml中写呢?

1,2,3,4就是arrayList中存储的数据。

我的实际应用:

每个用户有关联的booth_number,这些booth_number都存储在arrayList中,然后用这个list查询所有的摊位信息。即selelct * from  booths where booth_number in(1,2,3,4);

下面是我的代码:

 

使用一个foreach循环,遍历list中的内容,collection是要遍历的数据,open用(开始,close用(结束,separator用【,】分隔。这也很好的体现了MyBatis动态sql的特性。

3.前端要的数据太多太杂,我们拼接多个List,前端找数据困难,浪费时间。因此我们进行三表联表查询。

那我们enetity中没有对应的实体类怎么办?

1.首先创建一个vo包,专门用来解决数据不对应的问题,然后创建一个对应的VOjava类

SpringBoot实战2_第2张图片

2.在这个类中放任何你想要得到的数据,记得添加一个@Data注解

*MyBatis中数据都被封装了,我们需要使用setter和getter方法来修改和得到数据。

SpringBoot实战2_第3张图片

3.从controller调用service的方法,从service调用mapper的方法,mapper有对应的xml,xml中是与数据库进行交互的sql

mapper需要和xml的resulyMap保持一致:

SpringBoot实战2_第4张图片

以下是一个xml实例:

SpringBoot实战2_第5张图片

**对于复杂sql,在写xml之前,可以先把sql在数据库中执行一下,语句正确再粘到xml中。这样可以节约时间,否则每次都要重启项目。

四、总结

今天先到这里,大家有什么想法,欢迎在评论区留言。我已经大四了,现在才发现代码的优雅与魅力,我想学很多东西,最近了解到了robot-framework,后续会有更新,欢迎大家关注。

你可能感兴趣的:(mybatis)