Java基础入门day70

day70

Mybatis

mybatis实现多表的关联

关于数据库的设计

当前有五张表,用户表,订单表,订单详情表,商品表,商品类型表

订单表

Orders订单表
oidvarchar(32)主键订单编号
uidint用户编号
paytypevarchar(20)非空(cash,alipay,wei)
pricedouble订单总价
mysql> select * from orders;
+----------------------------------+------+---------+-------+
| oid                              | uid  | paytype | price |
+----------------------------------+------+---------+-------+
| 7e4485f8285311efabcee0be038b244f |    1 | cash    | 29999 |
| 7e44b160285311efabcee0be038b244f |    1 | alipay  | 19999 |
| 7e44e44c285311efabcee0be038b244f |    2 | cash    | 11.99 |
| 7e6b5ae4285311efabcee0be038b244f |    3 | wei     | 299.9 |
+----------------------------------+------+---------+-------+
4 rows in set (0.00 sec)

用户表

Users用户表
uidint主键自增用户编号
usernamevarchar(20)非空唯一用户名
passwordvarchar(20)非空用户密码
ageint年龄
phonevarchar(11)电话
addrvarchar(30)地址
sexvarchar(4)性别
create table users(uid int primary key auto_increment,username varchar(20) not null unique,password varchar(20) not null,phone varchar(11),age int,addr varchar(50),sex varchar(4)
);
​
insert into users values(null, 'liwei', '123456', '119', 20, 'xianyangzhiye', 'boy');
insert into users values(null, 'hejiahao', '123456', '110', 20, 'xianshi', 'boy');
insert into users values(null, 'chenxiaoling', '123456', '119', 20, 'xian', 'girl');

订单详情

OrderDetail订单详情表
didvarchar(32)主键
cidint非空唯一商品编号
countint非空商品数量
oidvarchar(32)订单编号
create table orderdetail(did varchar(32) primary key,pid int,count int,oid varchar(32)
);
​
insert into orderdetail values(replace(uuid(), '-', ''), 1, 3, '7e4485f8285311efabcee0be038b244f');
insert into orderdetail values(replace(uuid(), '-', ''), 2, 4, '7e4485f8285311efabcee0be038b244f');
​
insert into orderdetail values(replace(uuid(), '-', ''), 6, 3, '7e44b160285311efabcee0be038b244f');
insert into orderdetail values(replace(uuid(), '-', ''), 7, 2, '7e44b160285311efabcee0be038b244f');
​
insert into orderdetail values(replace(uuid(), '-', ''), 11, 30, '7e44e44c285311efabcee0be038b244f');
​
insert into orderdetail values(replace(uuid(), '-', ''), 12, 1, '7e6b5ae4285311efabcee0be038b244f');
​

商品表

mysql> select * from products;
+-----+-----------------+-----------------+----------+----------------------+-------------------------------------------------------------------+--------+--------+------+
| cid | title           | subtitle        | wtype    | img                  | cdesc                                                             | oprice | nprice | tid  |
+-----+-----------------+-----------------+----------+----------------------+-------------------------------------------------------------------+--------+--------+------+
|   1 | 小米10          | 小米10青春版    | 小米     | img/cellphone/1.png  | 小米10青春版                                                      |   5999 |   4999 |    1 |
|   2 | Xiaomi 14 Ultra | Xiaomi 14 Ultra | 小米自营 | img/cellphone/2.png  | 徕卡光学 Summilux 镜头,第三代骁龙?8移动平台                      |   5999 |   4999 |    1 |
|   3 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/3.png  | 【直播间购机加赠多彩腕带保护壳】性能旋风,席卷而来                |   5999 |   4999 |    1 |
|   4 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/4.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   5 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/5.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   6 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/6.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   7 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/7.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   8 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/8.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   9 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/9.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|  10 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/10.png | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|  11 | maojin          | maojin          | jingdong | img/maojin.png       | maojin miaoshu                                                    |  39.99 |    9.9 |    2 |
|  12 | yashua          | yashua          | taobao   | img/yashua.png       | yashua miaoshu                                                    |  19.99 |   11.9 |    2 |
+-----+-----------------+-----------------+----------+----------------------+-------------------------------------------------------------------+--------+--------+------+
12 rows in set (0.00 sec)

商品类型表

create table types(tid int primary key auto_increment,tname varchar(20) not null unique,tdesc varchar(20)
);
​
mysql> select * from types;
+-----+------------+----------------+
| tid | tname      | tdesc          |
+-----+------------+----------------+
|   1 | 手机       | 手机描述       |
|   2 | 智能穿戴   | 智能穿戴描述   |
|   3 | 笔记本平板 | 笔记本平板描述 |
|   4 | 家电       | 家电描述       |
|   5 | 生活用品   | 生活电器描述   |
|   6 | 厨房电器   | 厨房电器描述   |
|   7 | 智能家具   | 智能家具描述   |
+-----+------------+----------------+
7 rows in set (0.00 sec)

五张表:

mysql> select * from orders;
+----------------------------------+------+---------+-------+
| oid                              | uid  | paytype | price |
+----------------------------------+------+---------+-------+
| 7e4485f8285311efabcee0be038b244f |    1 | cash    | 29999 |
| 7e44b160285311efabcee0be038b244f |    1 | alipay  | 19999 |
| 7e44e44c285311efabcee0be038b244f |    2 | cash    | 11.99 |
| 7e6b5ae4285311efabcee0be038b244f |    3 | wei     | 299.9 |
+----------------------------------+------+---------+-------+
4 rows in set (0.00 sec)
​
mysql> select * from users;
+-----+--------------+----------+-------+------+---------------+------+
| uid | username     | password | phone | age  | addr          | sex  |
+-----+--------------+----------+-------+------+---------------+------+
|   1 | liwei        | 123456   | 119   |   20 | xianyangzhiye | boy  |
|   2 | hejiahao     | 123456   | 110   |   20 | xianshi       | boy  |
|   3 | chenxiaoling | 123456   | 119   |   20 | xian          | girl |
+-----+--------------+----------+-------+------+---------------+------+
3 rows in set (0.00 sec)
​
mysql> select * from orderdetail;
+----------------------------------+------+-------+----------------------------------+
| did                              | pid  | count | oid                              |
+----------------------------------+------+-------+----------------------------------+
| 21ac58702ddb11ef908ee0be038b244f |    1 |     3 | 7e4485f8285311efabcee0be038b244f |
| 21ad0cc52ddb11ef908ee0be038b244f |    2 |     4 | 7e4485f8285311efabcee0be038b244f |
| 21ad382b2ddb11ef908ee0be038b244f |    6 |     3 | 7e44b160285311efabcee0be038b244f |
| 21ad6c562ddb11ef908ee0be038b244f |    7 |     2 | 7e44b160285311efabcee0be038b244f |
| 21adb7be2ddb11ef908ee0be038b244f |   11 |    30 | 7e44e44c285311efabcee0be038b244f |
| 21d796a62ddb11ef908ee0be038b244f |   12 |     1 | 7e6b5ae4285311efabcee0be038b244f |
+----------------------------------+------+-------+----------------------------------+
6 rows in set (0.00 sec)
​
mysql> select * from products;
+-----+-----------------+-----------------+----------+----------------------+-------------------------------------------------------------------+--------+--------+------+
| cid | title           | subtitle        | wtype    | img                  | cdesc                                                             | oprice | nprice | tid  |
+-----+-----------------+-----------------+----------+----------------------+-------------------------------------------------------------------+--------+--------+------+
|   1 | 小米10          | 小米10青春版    | 小米     | img/cellphone/1.png  | 小米10青春版                                                      |   5999 |   4999 |    1 |
|   2 | Xiaomi 14 Ultra | Xiaomi 14 Ultra | 小米自营 | img/cellphone/2.png  | 徕卡光学 Summilux 镜头,第三代骁龙?8移动平台                      |   5999 |   4999 |    1 |
|   3 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/3.png  | 【直播间购机加赠多彩腕带保护壳】性能旋风,席卷而来                |   5999 |   4999 |    1 |
|   4 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/4.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   5 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/5.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   6 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/6.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   7 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/7.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   8 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/8.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|   9 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/9.png  | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|  10 | 小米10 Pro      | 小米10 Pro      | 小米自营 | img/cellphone/10.png | 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁 |   5999 |   4999 |    1 |
|  11 | maojin          | maojin          | jingdong | img/maojin.png       | maojin miaoshu                                                    |  39.99 |    9.9 |    5 |
|  12 | yashua          | yashua          | taobao   | img/yashua.png       | yashua miaoshu                                                    |  19.99 |   11.9 |    5 |-
+-----+-----------------+-----------------+----------+----------------------+-------------------------------------------------------------------+--------+--------+------+
12 rows in set (0.00 sec)
​
mysql> select * from types;
+-----+------------+----------------+
| tid | tname      | tdesc          |
+-----+------------+----------------+
|   1 | 手机       | 手机描述       |
|   2 | 智能穿戴   | 智能穿戴描述   |
|   3 | 笔记本平板 | 笔记本平板描述 |
|   4 | 家电       | 家电描述       |
|   5 | 生活用品   | 生活电器描述   |
|   6 | 厨房电器   | 厨房电器描述   |
|   7 | 智能家具   | 智能家具描述   |
+-----+------------+----------------+
7 rows in set (0.00 sec)

数据准备完成

代码实现

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
​
<groupId>org.example</groupId>
<artifactId>days70</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
​
<name>days70</name>
<url>http://maven.apache.org</url>
​
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
​
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency>
​<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency>
​<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency>
​<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.16</version><scope>provided</scope></dependency>
</dependencies>
</project>
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
​<settings><!--日志实现--><setting name="logImpl" value="STDOUT_LOGGING"/></settings>
​<environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mi?useSSL=false"/><property name="username" value="root"/><property name="password" value="Abc@1234"/></dataSource></environment></environments><mappers><mapper resource="com/saas/dao/OrderMapper.xml"/><mapper resource="com/saas/dao/UserMapper.xml"/><mapper resource="com/saas/dao/DetailMapper.xml"/><mapper resource="com/saas/dao/ProductsMapper.xml"/><mapper resource="com/saas/dao/TypeMapper.xml"/></mappers>
</configuration>
pojo
package com.saas.pojo;import lombok.Data;import java.util.List;@Data
public class Orders {private String oid    ;private Users u    ;private String paytype;private double price  ;private List<Details> details;
}
package com.saas.pojo;import lombok.Data;@Data
public class Users {private int uid     ;private String username;private String password;private String phone   ;private int age     ;private String addr    ;private String sex     ;
}
package com.saas.pojo;import lombok.Data;@Data
public class Details {private String did  ;private Products p  ;private int count;
}
package com.saas.pojo;import lombok.Data;@Data
public class Products {private int cid     ;private String title   ;private String subtitle;private String wtype   ;private String img     ;private String cdesc   ;private double oprice  ;private double nprice  ;private Types t;
}
package com.saas.pojo;import lombok.Data;@Data
public class Types {private String tid  ;private String tname;private String tdesc;
}
mapper文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.saas.dao.OrderMapper"><select id="getAllOrders" resultMap="orderMap">select * from orders</select><resultMap  id="orderMap" type="com.saas.pojo.Orders"><id property="oid" column="oid"/><result property="price" column="price"/><result property="paytype" column="paytype"/><association property="u" javaType="com.saas.pojo.Users" column="uid" select="com.saas.dao.UserMapper.getUserByUid"></association><collection property="details" javaType="java.util.List" ofType="com.saas.pojo.Details" select="com.saas.dao.DetailMapper.getDetailsByOid" column="oid"></collection></resultMap>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.saas.dao.UserMapper"><select id="getUserByUid" resultType="com.saas.pojo.Users">select * from users where uid = #{uid}</select>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.saas.dao.DetailMapper"><select id="getDetailsByOid" resultMap="detailMap">select * from orderdetail where oid =  #{oid}</select><resultMap id="detailMap" type="com.saas.pojo.Details"><id property="did" column="did"/><result property="count" column="count"/><association property="p" javaType="com.saas.pojo.Products" column="pid"select="com.saas.dao.ProductMapper.getProductByPid" /></resultMap>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.saas.dao.ProductMapper"><select id="getProductByPid" resultMap="productMap">select * from products where cid =  #{cid}</select><resultMap id="productMap" type="com.saas.pojo.Products"><id property="pid" column="pid"/><result property="nprice" column="nprice"/><association property="t" javaType="com.saas.pojo.Types" column="tid" select="com.saas.dao.TypeMapper.getTypeByTid"></association></resultMap>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.saas.dao.TypeMapper"><select id="getTypeByTid" resultType="com.saas.pojo.Types">select * from types where tid = #{tid}</select>
</mapper>

最后的运行结果

Created connection 1224741501.
==>  Preparing: select * from orders 
==> Parameters: 
<==    Columns: oid, uid, paytype, price
<==        Row: 7e4485f8285311efabcee0be038b244f, 1, cash, 29999
====>  Preparing: select * from users where uid = ? 
====> Parameters: 1(Integer)
<====    Columns: uid, username, password, phone, age, addr, sex
<====        Row: 1, liwei, 123456, 119, 20, xianyangzhiye, boy
<====      Total: 1
====>  Preparing: select * from orderdetail where oid = ? 
====> Parameters: 7e4485f8285311efabcee0be038b244f(String)
<====    Columns: did, pid, count, oid
<====        Row: 21ac58702ddb11ef908ee0be038b244f, 1, 3, 7e4485f8285311efabcee0be038b244f
======>  Preparing: select * from products where cid = ? 
======> Parameters: 1(Integer)
<======    Columns: cid, title, subtitle, wtype, img, cdesc, oprice, nprice, tid
<======        Row: 1, 小米10, 小米10青春版, 小米, img/cellphone/1.png, 小米10青春版, 5999, 4999, 1
========>  Preparing: select * from types where tid = ? 
========> Parameters: 1(Integer)
<========    Columns: tid, tname, tdesc
<========        Row: 1, 手机, 手机描述
<========      Total: 1
<======      Total: 1
<====        Row: 21ad0cc52ddb11ef908ee0be038b244f, 2, 4, 7e4485f8285311efabcee0be038b244f
======>  Preparing: select * from products where cid = ? 
======> Parameters: 2(Integer)
<======    Columns: cid, title, subtitle, wtype, img, cdesc, oprice, nprice, tid
<======        Row: 2, Xiaomi 14 Ultra, Xiaomi 14 Ultra, 小米自营, img/cellphone/2.png, 徕卡光学 Summilux 镜头,第三代骁龙?8移动平台, 5999, 4999, 1
<======      Total: 1
<====      Total: 2
<==        Row: 7e44b160285311efabcee0be038b244f, 1, alipay, 19999
====>  Preparing: select * from orderdetail where oid = ? 
====> Parameters: 7e44b160285311efabcee0be038b244f(String)
<====    Columns: did, pid, count, oid
<====        Row: 21ad382b2ddb11ef908ee0be038b244f, 6, 3, 7e44b160285311efabcee0be038b244f
======>  Preparing: select * from products where cid = ? 
======> Parameters: 6(Integer)
<======    Columns: cid, title, subtitle, wtype, img, cdesc, oprice, nprice, tid
<======        Row: 6, 小米10 Pro, 小米10 Pro, 小米自营, img/cellphone/6.png, 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁, 5999, 4999, 1
<======      Total: 1
<====        Row: 21ad6c562ddb11ef908ee0be038b244f, 7, 2, 7e44b160285311efabcee0be038b244f
======>  Preparing: select * from products where cid = ? 
======> Parameters: 7(Integer)
<======    Columns: cid, title, subtitle, wtype, img, cdesc, oprice, nprice, tid
<======        Row: 7, 小米10 Pro, 小米10 Pro, 小米自营, img/cellphone/7.png, 骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁, 5999, 4999, 1
<======      Total: 1
<====      Total: 2
<==        Row: 7e44e44c285311efabcee0be038b244f, 2, cash, 11.99
====>  Preparing: select * from users where uid = ? 
====> Parameters: 2(Integer)
<====    Columns: uid, username, password, phone, age, addr, sex
<====        Row: 2, hejiahao, 123456, 110, 20, xianshi, boy
<====      Total: 1
====>  Preparing: select * from orderdetail where oid = ? 
====> Parameters: 7e44e44c285311efabcee0be038b244f(String)
<====    Columns: did, pid, count, oid
<====        Row: 21adb7be2ddb11ef908ee0be038b244f, 11, 30, 7e44e44c285311efabcee0be038b244f
======>  Preparing: select * from products where cid = ? 
======> Parameters: 11(Integer)
<======    Columns: cid, title, subtitle, wtype, img, cdesc, oprice, nprice, tid
<======        Row: 11, maojin, maojin, jingdong, img/maojin.png, maojin miaoshu, 39.99, 9.9, 5
========>  Preparing: select * from types where tid = ? 
========> Parameters: 5(Integer)
<========    Columns: tid, tname, tdesc
<========        Row: 5, 生活用品, 生活电器描述
<========      Total: 1
<======      Total: 1
<====      Total: 1
<==        Row: 7e6b5ae4285311efabcee0be038b244f, 3, wei, 299.9
====>  Preparing: select * from users where uid = ? 
====> Parameters: 3(Integer)
<====    Columns: uid, username, password, phone, age, addr, sex
<====        Row: 3, chenxiaoling, 123456, 119, 20, xian, girl
<====      Total: 1
====>  Preparing: select * from orderdetail where oid = ? 
====> Parameters: 7e6b5ae4285311efabcee0be038b244f(String)
<====    Columns: did, pid, count, oid
<====        Row: 21d796a62ddb11ef908ee0be038b244f, 12, 1, 7e6b5ae4285311efabcee0be038b244f
======>  Preparing: select * from products where cid = ? 
======> Parameters: 12(Integer)
<======    Columns: cid, title, subtitle, wtype, img, cdesc, oprice, nprice, tid
<======        Row: 12, yashua, yashua, taobao, img/yashua.png, yashua miaoshu, 19.99, 11.9, 5
<======      Total: 1
<====      Total: 1
<==      Total: 4
Orders(oid=7e4485f8285311efabcee0be038b244f, u=Users(uid=1, username=liwei, password=123456, phone=119, age=20, addr=xianyangzhiye, sex=boy), paytype=cash, price=29999.0, details=[Details(did=21ac58702ddb11ef908ee0be038b244f, p=Products(cid=1, title=小米10, subtitle=小米10青春版, wtype=小米, img=img/cellphone/1.png, cdesc=小米10青春版, oprice=5999.0, nprice=4999.0, t=Types(tid=1, tname=手机, tdesc=手机描述)), count=3), Details(did=21ad0cc52ddb11ef908ee0be038b244f, p=Products(cid=2, title=Xiaomi 14 Ultra, subtitle=Xiaomi 14 Ultra, wtype=小米自营, img=img/cellphone/2.png, cdesc=徕卡光学 Summilux 镜头,第三代骁龙?8移动平台, oprice=5999.0, nprice=4999.0, t=Types(tid=1, tname=手机, tdesc=手机描述)), count=4)])
Orders(oid=7e44b160285311efabcee0be038b244f, u=Users(uid=1, username=liwei, password=123456, phone=119, age=20, addr=xianyangzhiye, sex=boy), paytype=alipay, price=19999.0, details=[Details(did=21ad382b2ddb11ef908ee0be038b244f, p=Products(cid=6, title=小米10 Pro, subtitle=小米10 Pro, wtype=小米自营, img=img/cellphone/6.png, cdesc=骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁, oprice=5999.0, nprice=4999.0, t=Types(tid=1, tname=手机, tdesc=手机描述)), count=3), Details(did=21ad6c562ddb11ef908ee0be038b244f, p=Products(cid=7, title=小米10 Pro, subtitle=小米10 Pro, wtype=小米自营, img=img/cellphone/7.png, cdesc=骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁, oprice=5999.0, nprice=4999.0, t=Types(tid=1, tname=手机, tdesc=手机描述)), count=2)])
Orders(oid=7e44e44c285311efabcee0be038b244f, u=Users(uid=2, username=hejiahao, password=123456, phone=110, age=20, addr=xianshi, sex=boy), paytype=cash, price=11.99, details=[Details(did=21adb7be2ddb11ef908ee0be038b244f, p=Products(cid=11, title=maojin, subtitle=maojin, wtype=jingdong, img=img/maojin.png, cdesc=maojin miaoshu, oprice=39.99, nprice=9.9, t=Types(tid=5, tname=生活用品, tdesc=生活电器描述)), count=30)])
Orders(oid=7e6b5ae4285311efabcee0be038b244f, u=Users(uid=3, username=chenxiaoling, password=123456, phone=119, age=20, addr=xian, sex=girl), paytype=wei, price=299.9, details=[Details(did=21d796a62ddb11ef908ee0be038b244f, p=Products(cid=12, title=yashua, subtitle=yashua, wtype=taobao, img=img/yashua.png, cdesc=yashua miaoshu, oprice=19.99, nprice=11.9, t=Types(tid=5, tname=生活用品, tdesc=生活电器描述)), count=1)])
Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@4900127d]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/35266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用C语言声明汇编编写的函数,是否需要带参数列表?

1.被声明的汇编函数本身有参数输入 例如&#xff0c;有如下汇编函数&#xff1a; section .text global add add: ; 假设 a 在 [ebp8]&#xff0c;b 在 [ebp12]&#xff08;这是基于 C 调用约定的典型栈布局&#xff09; mov eax, [ebp8] ; 将 a 的值加载到 eax 寄存器 add e…

git 查看本地和远程分支

要查看 Git 仓库中的所有分支&#xff0c;可以使用以下命令&#xff1a; git branch执行该命令后&#xff0c;Git 会列出当前仓库中的所有分支&#xff0c;并在当前所在的分支前加上一个 * 标记。 如果你想查看远程仓库的分支&#xff0c;可以添加 -r 或 --remotes 选项&…

Java中不同I/O操作的性能比较

Java中不同I/O操作的性能比较 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;对于I/O操作的选择不仅影响到代码的简洁性和可读性&am…

详解LLM大模型是如何理解并使用 tools ?

前文 大家肯定对使用大模型的函数回调或者说 Tools 已经耳熟能详了&#xff0c;那么他们具体内部是如何运作的呢&#xff0c;本文就此事会详细给大家介绍具体的细节。 tools 首先是大家最熟悉的环节&#xff0c;定义两个 tool 的具体实现&#xff0c;其实就是两个函数&#…

C语言:sprintf与snprintf

C语言提供了强大的格式化输出的接口&#xff0c;可以输出到不同的文件或者字符串等&#xff0c;以sprintf和snprintf为例介绍一下 sprintf 格式化输出到字符串 函数签名 int sprintf(char *str, const char *format, ...);与printf相比就是多了前面的char*参数&#xff0c;…

为什么变量不可以在 switch 语句中声明定义?

目录 1.引言 2.switch语句的基本用法 3.为何不能在switch语句中声明变量 3.1.作用域问题 3.2.跳转语句的限制 4.解决方案 4.1.在switch语句之前声明变量 4.2.使用花括号创建新的作用域 5.总结 1.引言 在C/C等编程语言中&#xff0c;switch语句是一种常见的控制流结构&…

PointNet数据预处理+网络训练

PointNet数据预处理网络训练 数据预处理分类网络的训练分割网络训练分类和分割的结果 数据预处理 数据预处理&#xff0c;这里仅介绍一个shapenetdataset&#xff1b; class ShapeNetDataset(data.Dataset):def __init__(self,root,npoints2500,classificationFalse,class_ch…

前端应熟知的各种宽度高度

目录 一、window对象- 浏览器对象模型 二、Document对象-文档对象模型 前端做项目时经常需要使用到各种宽度高度&#xff0c;可以从两个地方获得这些数据。 一、window对象- 浏览器对象模型 浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。 所有浏览…

动态图形设计:创造视觉运动的艺术

什么是动态设计&#xff1f;动态设计是一个设计领域&#xff0c;指在用户界面中使用动态效果的设计。简单地说是为了移动用户界面上的元素而设计的。良好的动态设计可以吸引用户的注意&#xff0c;提高用户体验和满意度。动态设计也是界面设计与动态设计的结合&#xff0c;将设…

后端如何减少生产问题以及如何处理生产问题

后端如何减少生产问题以及如何处理生产问题 事前–如何减少生产问题 开发多做单元测试&#xff0c;自测。 提前做单元测试&#xff0c;能够及早发现问题。 哪怕只是很小的改动&#xff0c;也要测试回归 有些研发同事&#xff0c;优化了代码&#xff0c;以为只是很小的改动…

vector和array在C++中的区别以及如何在C++中定义array类型

在C中&#xff0c;vector和array的主要区别体现在以下几个方面&#xff1a; 内存分配和大小调整&#xff1a; vector是一个动态数组容器&#xff0c;其内存空间大小是能够改变的。当需要添加新元素而当前内存空间不足时&#xff0c;vector会自动申请更大的内存空间&#xff08…

[240625] Continue -- 开源 Copilot | Web-Check 网站分析工具 | Story of EOL

目录 Continue -- 开源 CopilotWeb-Check 网站分析工具Web-Check 提供全面的网站分析功能Web-Check 支持多种部署方式&#xff1a;配置选项开发环境Web-Check 使用多种数据源进行分析 Story of EOLASCII 文本中的换行符问题 Continue – 开源 Copilot 让 Continue 和 Ollama 成…

无人机螺旋桨理论教学培训课程

本文档为一份详细的关于TYTO机器人公司提供的电机和螺旋桨理论及其实验操作的指南。指南首先概述了材料、实验目标以及实验的介绍部分&#xff0c;随后详细阐述了理论问题、实验步骤和附录内容。实验目的在于通过实际测试来测量和理解不同螺旋桨参数对无人机性能的影响&#xf…

上海亚商投顾:沪指5连阴 工业母机概念逆势走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数今日继续调整&#xff0c;沪指午后一度跌近1%&#xff0c;随后探底回升跌幅收窄&#xff0c;创业板指…

java之可变字符串之append方法

可变字符串如果要添加内容&#xff0c;需要用到append方法 语法格式如下 sbf.append(obj) 其中sbf是任意的可变字符串 obj是任意数据类型的对象 这个方法是将任意数据转换成字符串&#xff0c;然后添加到此序列中 public class Buffer {public static void main(String[]…

3浏览器安全

上一篇&#x1f449;: 浏览器渲染原理 浏览器安全涉及多方面的威胁与防护&#xff0c;其中XSS&#xff08;跨站脚本攻击&#xff09;与CSRF&#xff08;跨站请求伪造&#xff09;是最常见的两类安全问题&#xff0c;而中间人攻击与网络劫持也是不容忽视的安全隐患。下面是对这…

人工智能前沿讲座——脑与类脑智能

目录 前言 对脑与类脑智能的介绍 前沿计划 实验 相关应用 实验室做的项目 最后同学问的三个问题。 有没有可能在不同的时刻&#xff0c;大脑产生相同的电信号&#xff1f; 有没有什么方法可以人工模拟神经元&#xff0c;再组合成神经网络&#xff1f; 有没有比大脑层…

如何确保消息不被重复消费

一、重复消费问题出现的原因 导致重复消费的原因可能出现在生产者&#xff0c;也可能出现在 MQ 或 消费者。这里说的重复消费问题是指同一个数据被执行了两次&#xff0c;不单单指 MQ 中一条消息被消费了两次&#xff0c;也可能是 MQ 中存在两条一模一样的消费。 生产者&…

基于Python的求职招聘管理系统【附源码】

摘 要 随着互联网技术的不断发展&#xff0c;人类的生活已经逐渐离不开网络了&#xff0c;在未来的社会中&#xff0c;人类的生活与工作都离不开数字化、网络化、电子化与虚拟化的数字技术。从互联网的发展历史、当前的应用现状和发展趋势来看&#xff0c;我们完全可以肯定&…

金融企业数据跨境流动的核心需求是什么?如何才能落地?

在金融行业&#xff0c;涉及到的数据跨境流动的场景多种多样&#xff0c;主要涉及到金融机构的跨国经营、全球贸易以及服务贸易等多个方面&#xff1a; 企业跨国经营&#xff1a;当金融机构进行跨国经营时&#xff0c;如银行在海外设立分支机构或进行跨境投资&#xff0c;会涉及…