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

江苏建设工程造价管理网站怎么用dw软件做网站

江苏建设工程造价管理网站,怎么用dw软件做网站,wordpress 音乐盒,锐捷网络公司排名目录: 一 、实验目的: 熟练掌握实体之间的各种映射关系。 二 、预习要求: 预习数据库原理中所讲过的一对一、一对多和多对多关系 三、实验内容: 1. 查询所有订单信息,关联查询下单用户信息(注意:因为一…

目录:

一 、实验目的:

熟练掌握实体之间的各种映射关系。

二 、预习要求:

预习数据库原理中所讲过的一对一、一对多和多对多关系

三、实验内容:

1. 查询所有订单信息,关联查询下单用户信息(注意:因为一个订单信息只会是一个人 下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。

如果从用户信息 出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。)

2. 查询所有用户信息及用户关联的订单信息(用户信息和订单信息为一对多关系)。

四、实验方法和步骤:

实验前准备:

创建数据库,user表,order表

CREATE DATABASE experience03;
USE experience03;DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (`id` int(0) NOT NULL AUTO_INCREMENT,`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`birthday` date NULL DEFAULT NULL,`sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`address` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ;INSERT INTO `user` VALUES (1, '关羽', '2024-09-29', '男', '蜀国');
INSERT INTO `user` VALUES (2, '梁王孙', '2024-09-11', '男', '北京市');
INSERT INTO `user` VALUES (3, '陈长生', '2024-05-14', '女', '京都西庙');
INSERT INTO `user` VALUES (4, '王婆', '2024-09-05', '女', '快远');
INSERT INTO `user` VALUES (5, '黄忠', '2016-07-24', '1', '三国');
INSERT INTO `user` VALUES (6, '张飞', '2024-10-16', '女', '三国');
INSERT INTO `user` VALUES (7, 'lucky', '2021-10-08', '男', '三国');
INSERT INTO `user` VALUES (14, '关羽', '2024-12-02', '男', '蜀国');

创建User:

package com.hasut.pojo;import java.util.Date;public class User {private int id;private String username;private Date birthday;private String sex;private String address;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 Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", birthday=" + birthday +", sex='" + sex + '\'' +", address='" + address + '\'' +'}';}
}

创建Order:

package com.hasut.pojo;import java.util.Date;public class Order {private int id;private String number;private Date createtime;private String note;private User user;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}public Date getCreatetime() {return createtime;}public void setCreatetime(Date createtime) {this.createtime = createtime;}public String getNote() {return note;}public void setNote(String note) {this.note = note;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String toString() {return "Order{" +"id=" + id +", number='" + number + '\'' +", createtime=" + createtime +", note='" + note + '\'' +", user=" + user +'}';}
}

1. 查询所有订单信息(从订单出发一对一

关联查询下单用户信息(注意:因为一个订单信息只会是一个人 下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。

如果从用户信息 出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。)

sql 语句:

SELECT o.id, o.user_id userId, o.number, o.createtime, o.note, u.username, u.address FROM `order` o LEFT JOIN `user` u ON o.user_id = u.id

或者:

SELECT o.id, o.number,o.createtime,o.note,o.userId,u.username,u.birthday,u.sex,u.address
FROM `user` u, `order` o
WHERE u.id = o.userId

使用 resultMap,使用 resultMap,定义专门的 resultMap 用于映射一对一查询结 果。

①改造 pojo 类 在 Order 类中加入 User 属性,user 属性中用于存储关联查询的用户信息,因为订单关 联查询用户是一对一关系,所以这里使用单个 User 对象存储关联查询的用户信息。改造

Order 如下图:

package com.hasut.pojo;import java.util.Date;public class Order {private int id;private String number;private Date createtime;private String note;private User user;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}public Date getCreatetime() {return createtime;}public void setCreatetime(Date createtime) {this.createtime = createtime;}public String getNote() {return note;}public void setNote(String note) {this.note = note;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String toString() {return "Order{" +"id=" + id +", number='" + number + '\'' +", createtime=" + createtime +", note='" + note + '\'' +", user=" + user +'}';}
}

②Mapper.xml 这里 resultMap 指定 orderUserResultMap,如下:

<resultMap id="findOrderWithUserResultMap" type="com.haust.pojo.Orders"><id property="id" column="id"/><result property="number" column="number"/><result property="createtime" column="createtime"/><result property="note" column="note"/><association property="user" javaType="User"><id property="id" column="id"/><result property="username" column="username"/><result property="birthday" column="birthday"/><result property="sex" column="sex"/><result property="address" column="address"/></association></resultMap><select id="findOrderAndUserById" parameterType="int" resultMap="findOrderWithUserResultMap">SELECT o.id, o.number,o.createtime,o.note,o.userId,u.username,u.birthday,u.sex,u.addressFROM `user` u, `order` oWHERE u.id = o.userId</select>

③Mapper 接口

编写 UserMapper 如下图:

List<Orders> findOrderAndUserById(int id);

④测试方法

@Testpublic void test09() throws IOException {String resources = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resources);SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession();OrdersMapper ordersMapper = sqlSession.getMapper(OrdersMapper.class);List<Orders> list = ordersMapper.findOrderAndUserById(1);for (Orders o : list){System.out.println(list);}sqlSession.commit();sqlSession.close();}

⑤实验效果

测试效果如下图:

2. 查询所有用户信息及用户关联的订单信息(从用户出发,为一对多关系)。

用户信息和订单信息为一对多关系

sql 语句:

SELECT u.id, u.username, u.birthday, u.sex, u.address, o.id oid, o.number, o.createtime, o.note FROM `user` u LEFT JOIN `order` o ON u.id = o.user_id

SELECT u.id,u.username,u.birthday,u.sex,u.address,o.id oid,o.number,o.createtime,o.note
FROM `user` u, `order` o
WHERE u.id = o.userId

①修改 pojo 类

在 User 类中加入 List orders 属性,如下图:

package com.haust.pojo;import java.util.Date;
import java.util.List;public class User {private int id;private String username;private Date birthday;private String sex;private String address;private List<Orders> ordersList;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 Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public List<Orders> getOrdersList() {return ordersList;}public void setOrdersList(List<Orders> ordersList) {this.ordersList = ordersList;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", birthday=" + birthday +", sex='" + sex + '\'' +", address='" + address + '\'' +", ordersList=" + ordersList +'}';}
}

②UserMapper.xml

在 UserMapper.xml 添加 sql,如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.haust.mapper.UserMapper"><resultMap id="findOrderWithUserResultMap2" type="com.haust.pojo.User"><id property="id" column="id"/><result property="username" column="username"/><result property="birthday" column="birthday"/><result property="sex" column="sex"/><result property="address" column="address"/><collection property="ordersList" ofType="com.haust.pojo.Orders"><id property="id" column="id"/><result property="number" column="number"/><result property="createtime" column="createtime"/><result property="note" column="note"/></collection></resultMap><select id="findOrderAndUserById2" parameterType="int" resultMap="findOrderWithUserResultMap2">SELECT u.id,u.username,u.birthday,u.sex,u.address,o.id oid,o.number,o.createtime,o.noteFROM `user` u, `order` oWHERE u.id = o.userIdand u.id = #{id}</select>
</mapper>

③Mapper 接口

编写 UserMapper 接口,如下图:

public interface UserMapper {List<User> findOrderAndUserById2(int id);
}

④测试方法

在 UserMapperTest 增加测试方法,如下

@Testpublic void test10() throws IOException {String resources = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resources);SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);List<User> list = userMapper.findOrderAndUserById2(2);for (User o : list){System.out.println(o);}sqlSession.commit();sqlSession.close();}

⑤效果

测试效果如下图:

http://www.yayakq.cn/news/524440/

相关文章:

  • 做移动端网站设计杭州的互联网企业
  • 怎么查询技术支持公司做的网站手机网站网站建设
  • 佛山建站 网站 商城神州顺利办深一做网站
  • 做一电影网站怎么赚钱国际婚恋网站排名
  • 简约网站后台免费html网站开发教程
  • .net网站费用江苏网站建设推广
  • 官方网站建设专家磐石网络做药材有什么好的网站
  • 霸州市网站建设网站后台根据前端做吗
  • 宝塔Linux面板清理建设的网站本地架设wordpress
  • 给卖假性药的做网站一般要判多久杰奇网站地图怎么做
  • 注册网站验证码零基础网络工程师培训
  • 开发网站建设的问卷调查全网营销推广有哪些平台
  • 阿里云网站用什么做的公众号版网站建设
  • wap网站 劣势百度云虚拟主机wordpress伪静态
  • 相同网站名网站平台方案设计
  • 网站建设朋友圈素材wordpress 幻灯代码
  • 石家庄市市政建设总公司网站互联网app
  • 建设网站的工作职责哪家网站建设公司比较好
  • 网站建设价格明细表和网站预算怎么查看网站主机商
  • 杭州手机网站建设公司 网络服务有关做洁净工程的企业网站
  • 你做的网站可视区域多少钱手机制作封面教程网站
  • 网站模板可以自己做风信子 网站建设
  • 做导航网站把别人的网址链接过来要经过允许吗wordpress能仿站吗
  • 北京网站优化开发软件能赚多少钱
  • 学做网站看书会了吗怎么自己制作二维码内容
  • 宁夏网站开发设计说明书海口网站制作
  • 汽车网站方案最牛的房地产网站建设
  • 网站源码平台赣县网站制作
  • 导购类网站备案会计培训班的费用是多少
  • 做外贸卖小商品是哪个网站中信建设证券有限责任公司