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

网站建设实训周记页面设计好看的网站

网站建设实训周记,页面设计好看的网站,在线玩游戏网页,wordpress主题安全多表查询有哪些情况 Mybatis 支持多表查询#xff0c;常见的多表查询方式包括使用嵌套查询和关联查询 嵌套查询 嵌套查询是指在 SQL 语句中嵌套另外一个查询语句#xff0c;可以用于在一个表中查询与另一表相关的数据。例如#xff0c;在一个订单表中同时需要查询该订单所属…多表查询有哪些情况 Mybatis 支持多表查询常见的多表查询方式包括使用嵌套查询和关联查询 嵌套查询 嵌套查询是指在 SQL 语句中嵌套另外一个查询语句可以用于在一个表中查询与另一表相关的数据。例如在一个订单表中同时需要查询该订单所属用户的信息可以使用嵌套查询。 假设我们有两个表orders 表和 user 表orders 表中有一个 user_id 字段对应着 user 表中的 id 字段下面是查询某个订单和对应的用户信息的 SQL 语句 SELECT o.*, u.* FROM orders o INNER JOIN user u ON u.id o.user_id WHERE o.order_no 001 这里使用了 INNER JOIN 进行内连接将 orders 表和 user 表连接在一起查询条件为 o.order_no ‘001’。SELECT 语句中指定了要返回的字段由于两个表中可能有重复的字段所以用 o.* 和 u.* 表示要返回的所有字段。 在 Mybatis 中实现嵌套查询可以使用 resultMap 标签来定义查询结果映射下面是一个示例 resultMap idorderUserMap typeOrderid propertyid columnid/result propertyorderNo columnorder_no/!-- 其他订单相关字段 --association propertyuser javaTypeUserid propertyid columnid/result propertyusername columnusername/!-- 其他用户相关字段 --/association /resultMapselect idselectOrderWithUser resultMaporderUserMapSELECT o.*, u.*FROM orders oINNER JOIN user u ON u.id o.user_idWHERE o.order_no #{orderNo} /select 其中 定义了 Order 类和 User 类的属性映射关键字 id 表示主键property 指定类属性名column 指定字段对应的列名。 在 resultMap 中使用 标签来表示一个查询结果需要关联另外一个对象这里用于关联订单和用户。property 指定类属性名javaType 指定关联对象的类型其他属性映射同上。 最后在 中使用 resultMap 属性绑定映射关系#{orderNo} 表示动态参数。 关联查询 关联查询是常用的一种多表查询方式可以使用 Mybatis 提供的关联标签来实现。 假设我们有两个表orders 表和 user 表orders 表中有一个 user_id 字段对应着 user 表中的 id 字段下面是查询所有订单及对应用户的 SQL 语句 SELECT o.*, u.* FROM orders o LEFT JOIN user u ON u.id o.user_id 这里使用 LEFT JOIN 进行左连接将 orders 表和 user 表连接在一起查询所有记录。由于有可能存在订单没有对应用户所以需要使用左连接进行查询。 在 Mybatis 中实现关联查询可以使用 association 和 collection 标签它们分别用于表示一对一关联和一对多关联关系。下面我们分别来看一下 一对一关联查询 首先定义 Order 类和 User 类其中 Order 类中有一个 user 属性 public class Order {private Integer id;private String orderNo;private Integer userId;private User user;// 省略 getter/setter } 定义 OrderMapper 接口 public interface OrderMapper {ListOrder selectAllOrdersWithUser(); } 然后在 OrderMapper.xml 文件中实现多表查询 select idselectAllOrdersWithUser resultMaporderWithUserMapSELECT o.*, u.*FROM orders oLEFT JOIN user u on u.id o.user_id /selectresultMap typeOrder idorderWithUserMapid columnid propertyid/result columnorder_no propertyorderNo/!-- 其他订单相关字段 --association propertyuser columnuser_id javaTypeUser selectselectUserById/ /resultMapselect idselectUserById parameterTypeint resultTypeUserSELECT * FROM user WHERE id #{id} /select 其中resultMap 定义了 Order 类的属性映射使用 association 标签表示一对一关联column 表示关联条件字段select 表示关联查询的 SQL 语句。 在上述示例中我们定义了 selectUserById 这个查询语句用于根据用户 id 查询用户信息。在 association 标签中指定了 select 属性后Mybatis 会自动根据这个语句进行关联查询。 最后我们只需要在 OrderMapper 接口中调用 selectAllOrdersWithUser() 方法即可完成多表查询 ListOrder orders orderMapper.selectAllOrdersWithUser();一对多关联查询 在一对多关联查询中需要定义一个中间表来存储两个实体之间的关联例如定义 Order 类和 OrderItem 类中间表是 order_item。 首先定义 OrderItem 类和 Order 类其中 Order 类中有一个 orderItems 属性 public class OrderItem {private Integer id;private Integer orderId;private String itemName;private Double itemPrice; }public class Order {private Integer id;private String orderNo;private ListOrderItem orderItems;// 省略 getter/setter }定义 OrderMapper 接口 public interface OrderMapper {ListOrder selectAllOrdersWithItems(); }然后在 OrderMapper.xml 文件中实现多表查询 select idselectAllOrdersWithItems resultMaporderWithItemsMapSELECT o.*, oi.*FROM orders oLEFT JOIN order_item oi on oi.order_id o.id /selectresultMap typeOrder idorderWithItemsMapid columnid propertyid/result columnorder_no propertyorderNo/!-- 其他订单相关字段 --collection propertyorderItems ofTypeOrderItem id columnid propertyid/result columnitem_name propertyitemName/result columnitem_price propertyitemPrice/association propertyorder columnorder_id javaTypeOrder selectselectAllOrdersWithItems//collection /resultMap 其中resultMap 定义了 Order 类的属性映射使用 collection 标签表示一对多关联column 表示关联条件字段select 表示关联查询的 SQL 语句。 在上述示例中我们定义了 selectAllOrdersWithItems 这个查询语句用于查询所有订单和订单明细信息。在 collection 标签中指定了 select 属性后Mybatis 会自动根据这个语句进行关联查询。 最后我们只需要在 OrderMapper 接口中调用 selectAllOrdersWithItems() 方法即可完成多表查询 ListOrder orders orderMapper.selectAllOrdersWithItems();
http://www.hkea.cn/news/14514504/

相关文章:

  • 比较好的做外贸网站网站开发的重点难点
  • 制作网站一般要多少钱多个标签的网站模板
  • 蓝色网站模版郑州网站设计
  • 网站建设计划表模板网站在建设中无法访问
  • 微信微网站怎么进入免费查找企业信息的网站
  • 海东市住房和城乡建设局网站天河网站建设多少钱
  • 佛山公众平台网站推广多少钱域名在哪买
  • 清理wordpress数据表广州网络seo公司
  • 郑州交易网站建设两栏式设计网站
  • 做网站必须需要服务器嘛设计网站公司 讲湖南岚鸿
  • 合理规划网站结构cenos7 安装wordpress
  • 怎样申请建网站济南建设学院官网
  • 天津的网站建设公司哪家好北京顺义做网站
  • 网站设计素材坚决把快准严细实要求落实到位
  • 备案 个人网站聊城网站建设报价
  • 提供网站建设备案网站怎么做会让神马搜索到
  • 福永营销型网站多少钱网站如何建立数据库
  • 企业网站建设示范平台有没有免费的网站
  • 网站推广哪个平台好html编辑器的功能介绍
  • 做自媒体查找素材的网站定制营销产生的原因
  • 假冒建设厅网站wordpress 翻页没内容
  • 河南省住房和城乡建设门户网站个旧市建设局网站
  • 网站开发的现状及研究意义asp网站开发pdf
  • 南京企业网站设计制作营销型网站建设模板下载
  • 怎么建立一个网站搜关键词会跳出东莞市研发网站建设企业
  • 微信做明天展现网站要多少钱搭建本地视频网站
  • 网站换服务器要怎么做怎么开电商
  • 网站内容包括哪些系统软件有哪些?
  • 长春微信做网站制作一个自适应网站源码
  • 网站开发及设计网站建设的风格