当前位置: 首页 > news >正文

餐饮加盟网站建设案例灵雀云 wordpress

餐饮加盟网站建设案例,灵雀云 wordpress,在本地做装修在那个网站好,如何建设销售型企业网站MybatisPlus进阶 1.MybatisPlus一对多查询 2.分页查询 1.MybatisPlus一对多查询 场景#xff1a;我有一个表#xff0c;里面填写的是用户的个人信息#xff08;姓名#xff0c;生日#xff0c;密码#xff0c;用户ID#xff09;。我还有一个表填写的订单信息#x…MybatisPlus进阶 1.MybatisPlus一对多查询 2.分页查询 1.MybatisPlus一对多查询 场景我有一个表里面填写的是用户的个人信息姓名生日密码用户ID。我还有一个表填写的订单信息订单编号订单价格下单用户id。现在我想查询用户信息的时候将用户的订单信息一并查询出来。 a.编写User类 第一步肯定是编写User类User里应该包含用户ID密码生日用户对应订单。这里需要注意根据ORM我们编写的User类是对应了User表的但是User表里是不包含订单这个字段的。所以我们在编写的时候需要注明该字段是不存在User表中不然会报错。 package com.example.mpdemo;import java.util.List;import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName;TableName(t_user) public class User {private int id;private String username;private String password;private String birthday;TableField(exist false)private ListOrder orders;public int getId() {return id;}public void setId(int id) {this.id id;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday birthday;}public ListOrder getOrders() {return orders;}public void setOrders(ListOrder orders) {this.orders orders;}}TableName对应表格名称若不写则默认是类的名称大小写不敏感。 TableField(exist false)则表示该字段在表格中不存在。属于MybatisPlus中的功能。 用户表和订单表 由于是一对多且存在用户表中不存在的订单字段所以需要自己写Result。 package com.example.mpdemo;import java.util.List;import org.apache.ibatis.annotations.Many; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Result; import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.Select;import com.baomidou.mybatisplus.core.mapper.BaseMapper;Mapper public interface UserMapper extends BaseMapperUser{Select(select * from t_user)Results({Result(column id, property id),Result(column username, property username),Result(column password, property password),Result(column birthday, property birthday),Result(column id, property orders, javaType List.class, many Many(select com.example.mpdemo.OrderMapper.selectByUid)) })ListUser selectAllUserAndOrders();}Result注解中column表示数据库中的字段property则表示User类中的字段名称。 最后一个Many注解中column表示数据库中的字段property则表示User类中的字段名称javaType表示返回的Java类型因为一个用户可以拥有多个订单信息所以返回的是list。select表示要使用Mapper。 由于需要根据用户ID查询订单所以需要编写Order类和Order对应的Mapper。 package com.example.mpdemo;import java.sql.Date;import com.baomidou.mybatisplus.annotation.TableName;TableName(t_order) public class Order {private int id;private String order_time;private String total;private String uid;public int getId() {return id;}public void setId(int id) {this.id id;}public String getOrder_time() {return order_time;}public void setOrder_time(String order_time) {this.order_time order_time;}public String getTotal() {return total;}public void setTotal(String total) {this.total total;}public String getUid() {return uid;}public void setUid(String uid) {this.uid uid;}}package com.example.mpdemo;import java.util.List;import org.apache.ibatis.annotations.Many; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Result; import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.type.JdbcType;import com.baomidou.mybatisplus.core.mapper.BaseMapper;Mapper public interface OrderMapper extends BaseMapperOrder {Select(select * from t_order where uid #{uid})Results({Result(column id, property id),Result(column order_time, jdbcType JdbcType.DATE,property order_time),Result(column total, property total),Result(column uid, property uid), })ListOrder selectByUid(int uid);}最后我们需要编写一个Controller来实现查询 package com.example.mpdemo;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController;import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;RestController public class UserContoller {Autowiredprivate UserMapper userMapper;GetMapping(/user/findall)public ListUser findall() {ListUser results userMapper.selectAllUserAndOrders();return results;}}通过POSTman请求查看结果我这里设置的端口是8081 这样我们就实现了查询用户信息并且查询用户下单信息。 2.分页查询 分页查询mybatisPlus为我们提供了相应的分页插件。所以我们不需要自己编写一个分页拦截器只需将MybatisPlus为我们提供的分页拦截器通过configuration配置注解到Springboot当中即可。因为分页是通过拦截器实现的拦截器拦截并修改SQL语句返回分页查询结果实现分页。 package com.example.mpdemo;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;Configuration public class MybatisPlusConfig {Beanpublic MybatisPlusInterceptor paginationInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();PaginationInnerInterceptor paginationInnerInterceptor new PaginationInnerInterceptor(DbType.MYSQL);interceptor.addInnerInterceptor(paginationInnerInterceptor);return interceptor;}}根据MybitsPlus提供的分页我们的Controller需要这样编写 package com.example.mpdemo;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController;import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;RestController public class UserContoller {Autowiredprivate UserMapper userMapper;GetMapping(/user/findall)public ListUser findall() {ListUser results userMapper.selectAllUserAndOrders();return results;}GetMapping(/user/findbypage/{page})public IPage findByPage(PathVariable int page) {PageUser pageDemo new Page(page,2);IPage iPage userMapper.selectPage(pageDemo, null);return iPage;} }其中参数page表示第几页返回的是IPage。因为我们的usermapper继承了MybatisPlus的BaseMapperBaseMapper其中有selectPage方法。 看看结果
http://www.w-s-a.com/news/102203/

相关文章:

  • 做网站学多长时间可以学会推广软件公司
  • 网络网站设计培训长沙建站模板大全
  • 站群搭建移动端处理器天梯图
  • 岳池发展建设集团有限公司门户网站湛江seo咨询
  • 手机网站工具关键词排名是什么意思
  • 游民星空是谁做的网站沈阳网站托管公司
  • 做网站搭建需要什么人vs2017移动网站开发
  • 购物网站开发需要什么技术怎么查看网站是否备案
  • 学做电商那个网站好网站建设投票主题
  • 中卫网站推广网络营销毕业设计做网站大小有什么要求
  • 做问卷网站义乌网站建设推广专家
  • 不会编程怎样建设网站昆明做网站哪家
  • 直播网站模板新营销平台电商网站
  • 建设部指定招标网站免费的企业查询软件
  • 做前端常用的网站及软件下载平台优化是什么意思
  • 企石镇仿做网站wordpress 网站白屏
  • 班级网站建设规划书专业定制网红变色杯
  • 上海网站设计公司电话甘肃路桥建设集团有限公司官方网站
  • 哈尔滨网站建设网站开发陕西省建设监理工程协会网站
  • 微信公众号电商网站开发wordpress增加论坛
  • 网站建设视频百度网盘下载免费wordpress搭建
  • 哈尔滨市网站建设公司汕头市公司网站建设平台
  • 东莞网站建设方案外包甘肃两学一做网站
  • 网站建设优化排名推广平面设计职业学校
  • 网后台的网站怎么做网站代理商
  • 网站如何转移到新的空间服务器上手机无人区离线地图app
  • 网站建设模板的买域名做网站的坏处
  • 长春做网站qianceyun做景观素材有哪几个网站
  • 自己建的网站也要注册域名吗邯郸市做网站
  • 天津网站建设制作软件潍坊个人做网站