diff --git a/spring-boot/sjdemo/logs/xa_tx.lck b/spring-boot/sjdemo/logs/xa_tx.lck
new file mode 100644
index 0000000..e69de29
diff --git a/spring-boot/sjdemo/pom.xml b/spring-boot/sjdemo/pom.xml
index e28662e..8b0edd9 100644
--- a/spring-boot/sjdemo/pom.xml
+++ b/spring-boot/sjdemo/pom.xml
@@ -29,10 +29,11 @@
2.0.0
+
mysql
mysql-connector-java
- runtime
+ 5.1.24
io.shardingsphere
@@ -50,6 +51,26 @@
lombok
+
+
+ com.alibaba
+ fastjson
+ 1.2.56
+
+
+
+
+ io.shardingsphere
+ sharding-transaction-2pc-xa
+ 3.1.0
+
+
+
+ io.shardingsphere
+ sharding-transaction-spring-boot-starter
+ 3.1.0
+
+
org.springframework.boot
spring-boot-starter-test
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/DictionaryController.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/DictionaryController.java
new file mode 100644
index 0000000..5d8f81d
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/DictionaryController.java
@@ -0,0 +1,31 @@
+package com.fanxb.sjdemo.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fanxb.sjdemo.entity.Dictionary;
+import com.fanxb.sjdemo.service.DictionaryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/26 10:17
+ */
+@RestController
+@RequestMapping("dictionary")
+public class DictionaryController {
+
+ @Autowired
+ private DictionaryService dictionaryService;
+
+ @PutMapping("")
+ public long addOne(@RequestBody JSONObject object) {
+ Dictionary dictionary = object.toJavaObject(Dictionary.class);
+ return this.dictionaryService.addOne(dictionary);
+ }
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/OrderController.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/OrderController.java
new file mode 100644
index 0000000..63d0031
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/OrderController.java
@@ -0,0 +1,32 @@
+package com.fanxb.sjdemo.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fanxb.sjdemo.entity.Order;
+import com.fanxb.sjdemo.service.OrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/25 14:25
+ */
+@RestController
+@RequestMapping("/order")
+public class OrderController {
+
+ @Autowired
+ private OrderService orderService;
+
+ @PutMapping("")
+ public long addOne(@RequestBody JSONObject obj){
+ Order order = obj.toJavaObject(Order.class);
+ return this.orderService.insertOne(order);
+ }
+
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/OrderItemController.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/OrderItemController.java
new file mode 100644
index 0000000..722f03e
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/OrderItemController.java
@@ -0,0 +1,33 @@
+package com.fanxb.sjdemo.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fanxb.sjdemo.entity.OrderItem;
+import com.fanxb.sjdemo.service.OrderItemService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/25 14:25
+ */
+@RestController
+@RequestMapping("/orderItem")
+public class OrderItemController {
+
+ @Autowired
+ private OrderItemService orderItemService;
+
+ @PutMapping("")
+ public long addOne(@RequestBody JSONObject obj) {
+ OrderItem item = obj.toJavaObject(OrderItem.class);
+ return this.orderItemService.addOne(item);
+ }
+
+
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/UserController.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/UserController.java
new file mode 100644
index 0000000..10b9f77
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/controller/UserController.java
@@ -0,0 +1,35 @@
+package com.fanxb.sjdemo.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fanxb.sjdemo.entity.User;
+import com.fanxb.sjdemo.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/25 14:25
+ */
+@RestController
+@RequestMapping("/user")
+public class UserController {
+
+ @Autowired
+ private UserService userService;
+
+
+ @PutMapping("")
+ public long addUser(@RequestBody JSONObject obj){
+ User user = obj.toJavaObject(User.class);
+ return userService.addOne(user);
+ }
+
+ @GetMapping("test")
+ public void testTransactional(){
+ this.userService.testTransactional();
+ }
+
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/BaseOperate.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/BaseOperate.java
deleted file mode 100644
index c7bda50..0000000
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/BaseOperate.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.fanxb.sjdemo.dao;
-
-/**
- * 类功能简述:
- * 类功能详述:
- *
- * @author fanxb
- * @date 2019/3/22 15:21
- */
-public interface BaseOperate {
- long addOne(T t);
-}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/DictionaryDao.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/DictionaryDao.java
new file mode 100644
index 0000000..ed84970
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/DictionaryDao.java
@@ -0,0 +1,25 @@
+package com.fanxb.sjdemo.dao;
+
+import com.fanxb.sjdemo.entity.Dictionary;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/22 16:25
+ */
+public interface DictionaryDao {
+
+ /**
+ * Description:
+ *
+ * @author fanxb
+ * @date 2019/3/26 10:16
+ * @param dictionary dictionary
+ * @return long
+ */
+ long addOne(Dictionary dictionary);
+
+
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/OrderDao.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/OrderDao.java
index bc773b0..9067c4f 100644
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/OrderDao.java
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/OrderDao.java
@@ -1,6 +1,9 @@
package com.fanxb.sjdemo.dao;
import com.fanxb.sjdemo.entity.Order;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 类功能简述:
@@ -10,6 +13,35 @@ import com.fanxb.sjdemo.entity.Order;
* @date 2019/3/22 16:25
*/
public interface OrderDao {
+ /**
+ * Description:
+ *
+ * @param order order
+ * @return long
+ * @author fanxb
+ * @date 2019/3/25 14:23
+ */
long addOne(Order order);
+ /**
+ * Description:
+ *
+ * @param orderId orderId
+ * @param userId userId
+ * @return com.fanxb.sjdemo.entity.Order
+ * @author fanxb
+ * @date 2019/3/25 14:23
+ */
+ Order selectOne(@Param("orderId") long orderId, @Param("userId") int userId);
+
+ /**
+ * Description:
+ *
+ * @param id id
+ * @return java.util.List
+ * @author fanxb
+ * @date 2019/3/25 14:24
+ */
+ List getOrderByUserId(int id);
+
}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/OrderItemDao.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/OrderItemDao.java
new file mode 100644
index 0000000..2bcdea7
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/OrderItemDao.java
@@ -0,0 +1,34 @@
+package com.fanxb.sjdemo.dao;
+
+import com.fanxb.sjdemo.entity.OrderItem;
+
+import java.util.List;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/22 16:25
+ */
+public interface OrderItemDao {
+ /**
+ * Description:
+ *
+ * @param order order
+ * @author fanxb
+ * @date 2019/3/25 14:12
+ */
+ void addOne(OrderItem orderItem);
+
+ /**
+ * Description:
+ *
+ * @param id id
+ * @return java.util.List
+ * @author fanxb
+ * @date 2019/3/25 14:12
+ */
+ List getByOrderId(int id);
+
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/UserDao.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/UserDao.java
index 57c1361..2fa1c8b 100644
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/UserDao.java
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/dao/UserDao.java
@@ -1,9 +1,6 @@
package com.fanxb.sjdemo.dao;
import com.fanxb.sjdemo.entity.User;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
/**
* 类功能简述:
@@ -13,7 +10,22 @@ import java.util.List;
* @date 2019/3/22 15:29
*/
public interface UserDao {
- long addOne(User user);
+ /**
+ * Description:
+ *
+ * @author fanxb
+ * @date 2019/3/25 14:22
+ * @param user user
+ */
+ void addOne(User user);
- User getOneById(int id);
+ /**
+ * Description:
+ *
+ * @author fanxb
+ * @date 2019/3/25 14:22
+ * @param id id
+ * @return com.fanxb.sjdemo.entity.User
+ */
+ User getOneById(long id);
}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/Dictionary.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/Dictionary.java
new file mode 100644
index 0000000..2ed68de
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/Dictionary.java
@@ -0,0 +1,17 @@
+package com.fanxb.sjdemo.entity;
+
+import lombok.Data;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/25 17:25
+ */
+@Data
+public class Dictionary {
+ private Long dictionaryId;
+ private String name;
+ private String value;
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/Order.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/Order.java
index a638266..f9d91ff 100644
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/Order.java
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/Order.java
@@ -8,7 +8,7 @@ import java.util.Date;
public class Order {
private long orderId;
- private long uId;
+ private long userId;
private Date createTime;
private long totalPrice;
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/OrderItem.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/OrderItem.java
index 0132f38..517ebe3 100644
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/OrderItem.java
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/OrderItem.java
@@ -6,6 +6,7 @@ import lombok.Data;
@Data
public class OrderItem {
+// private long userId;
private long orderItemId;
private long orderId;
private String name;
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/User.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/User.java
index 2048655..da7004d 100644
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/User.java
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/entity/User.java
@@ -1,33 +1,21 @@
package com.fanxb.sjdemo.entity;
+import lombok.Data;
+
+@Data
public class User {
- private long uId;
- private String name;
- private long age;
+ private long userId;
+ private String name;
+ private int age;
- public long getuId() {
- return uId;
+ public User() {
}
- public void setuId(long uId) {
- this.uId = uId;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
+ public User(long userId, String name, int age) {
+ this.userId = userId;
this.name = name;
- }
-
- public long getAge() {
- return age;
- }
-
- public void setAge(long age) {
this.age = age;
}
}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/DictionaryService.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/DictionaryService.java
new file mode 100644
index 0000000..b68ab17
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/DictionaryService.java
@@ -0,0 +1,25 @@
+package com.fanxb.sjdemo.service;
+
+import com.fanxb.sjdemo.dao.DictionaryDao;
+import com.fanxb.sjdemo.entity.Dictionary;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/26 10:17
+ */
+@Service
+public class DictionaryService {
+
+ @Autowired
+ private DictionaryDao dictionaryDao;
+
+ public long addOne(Dictionary dictionary) {
+ this.dictionaryDao.addOne(dictionary);
+ return dictionary.getDictionaryId();
+ }
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/OrderItemService.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/OrderItemService.java
new file mode 100644
index 0000000..8f8190d
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/OrderItemService.java
@@ -0,0 +1,27 @@
+package com.fanxb.sjdemo.service;
+
+import com.fanxb.sjdemo.dao.OrderItemDao;
+import com.fanxb.sjdemo.entity.OrderItem;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 类功能简述:
+ * 类功能详述:
+ *
+ * @author fanxb
+ * @date 2019/3/25 14:53
+ */
+@Service
+public class OrderItemService {
+ @Autowired
+ private OrderItemDao orderItemDao;
+
+ public long addOne(OrderItem item){
+ this.orderItemDao.addOne(item);
+ return item.getOrderItemId();
+ }
+
+
+
+}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/OrderService.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/OrderService.java
index 3c4f3f0..545b69f 100644
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/OrderService.java
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/OrderService.java
@@ -16,13 +16,12 @@ import org.springframework.stereotype.Service;
*/
@Service
public class OrderService {
- private Logger logger = LoggerFactory.getLogger(OrderService.class);
@Autowired
private OrderDao orderDao;
- public void insertOne(Order order) {
- long id = orderDao.addOne(order);
- logger.info("订单插入id:{}", order.getOrderId());
+ public long insertOne(Order order) {
+ this.orderDao.addOne(order);
+ return order.getOrderId();
}
}
diff --git a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/UserService.java b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/UserService.java
index 64aff94..4cd22f9 100644
--- a/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/UserService.java
+++ b/spring-boot/sjdemo/src/main/java/com/fanxb/sjdemo/service/UserService.java
@@ -2,10 +2,16 @@ package com.fanxb.sjdemo.service;
import com.fanxb.sjdemo.dao.UserDao;
import com.fanxb.sjdemo.entity.User;
+import io.shardingsphere.transaction.annotation.ShardingTransactionType;
+import io.shardingsphere.transaction.api.TransactionType;
+import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.logging.ConsoleHandler;
/**
* 类功能简述:
@@ -15,21 +21,34 @@ import org.springframework.stereotype.Service;
* @date 2019/3/22 15:36
*/
@Service
+@Slf4j
public class UserService {
Logger logger = LoggerFactory.getLogger(UserService.class);
@Autowired
private UserDao dao;
- public void addOne(String name, int age) {
- User user = new User();
- user.setName(name);
- user.setAge(age);
- long id= dao.addOne(user);
- logger.info("插入id:{}", user.getuId());
+ public long addOne(User user) {
+ this.dao.addOne(user);
+ return user.getUserId();
}
- public User getOne(int id){
+ public User getOne(long id) {
return dao.getOneById(id);
}
+
+ /**
+ * 测试跨库事务
+ */
+ @ShardingTransactionType(TransactionType.XA)
+ @Transactional
+ public void testTransactional() {
+ User user1 = new User(123, "988", 12);
+ logger.info("user1已经插入");
+ logger.info("user1已经插入");
+ this.dao.addOne(user1);
+ User user2 = new User(124, "988", 12);
+ this.dao.addOne(user2);
+ this.dao.addOne(user2);
+ }
}
diff --git a/spring-boot/sjdemo/src/main/resources/application-sharding.yml b/spring-boot/sjdemo/src/main/resources/application-sharding.yml
index 8d0c0ce..f6d892b 100644
--- a/spring-boot/sjdemo/src/main/resources/application-sharding.yml
+++ b/spring-boot/sjdemo/src/main/resources/application-sharding.yml
@@ -1,7 +1,7 @@
sharding:
jdbc:
datasource:
- names: ds0,ds1,ds2
+ names: ds0,ds1
ds0:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
@@ -14,21 +14,31 @@ sharding:
url: jdbc:mysql://10.82.27.177:3306/ds1
username: root
password: 123456
- ds2:
- type: com.alibaba.druid.pool.DruidDataSource
- driver-class-name: com.mysql.jdbc.Driver
- url: jdbc:mysql://10.82.27.177:3306/ds2
- username: root
- password: 123456
+# ds2:
+# type: com.alibaba.druid.pool.DruidDataSource
+# driver-class-name: com.mysql.jdbc.Driver
+# url: jdbc:mysql://10.82.27.177:3306/ds2
+# username: root
+# password: 123456
config:
sharding:
- # 默认数据源,可以将不分库分表的数据表放在这里
- default-data-source-name: ds2
+ # 默认数据源,可以将不分库分表的数据表放在这里(此处的表需与已经分库分表的表完全没有关联,不会产生联表查询操作,因为跨库连表查询是没办法实现的),3.1.0版本dql查询存在bug,不使用默认库
+# default-data-source-name: ds2
+ # 默认分库策略
default-database-strategy:
inline:
- sharding-column: uId
- algorithm-expression: ds$->{uId % 2}
+ sharding-column: userId
+ algorithm-expression: ds$->{userId % 2}
+ # 配置表策略
tables:
+ # 公共表(比如字典表,角色表,权限表等),不分库或者分表,数据将发送到所有库中,方便联表查询
+ dictionary:
+ key-generator-column-name: dictionaryId
+ actual-data-nodes: ds$->{0..1}.dictionary
+ # user 前面已经根据uId分库,因此user表不进行分表
+ user:
+ key-generator-column-name: userId
+ actual-data-nodes: ds$->{0..1}.user
order:
key-generator-column-name: orderId
actual-data-nodes: ds$->{0..1}.order$->{0..1}
@@ -42,6 +52,6 @@ sharding:
table-strategy:
inline:
sharding-column: orderId
- algorithm-expression: orderItemId$->{orderId%2}
+ algorithm-expression: order_item$->{orderId%2}
props:
sql.show: true
\ No newline at end of file
diff --git a/spring-boot/sjdemo/src/main/resources/mapper/DictionaryMapper.xml b/spring-boot/sjdemo/src/main/resources/mapper/DictionaryMapper.xml
new file mode 100644
index 0000000..739eeca
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/resources/mapper/DictionaryMapper.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ insert into dictionary(name,value) values(#{name},#{value})
+
+
+
\ No newline at end of file
diff --git a/spring-boot/sjdemo/src/main/resources/mapper/OrderItemMapper.xml b/spring-boot/sjdemo/src/main/resources/mapper/OrderItemMapper.xml
new file mode 100644
index 0000000..b78247d
--- /dev/null
+++ b/spring-boot/sjdemo/src/main/resources/mapper/OrderItemMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ insert into order_item(orderId,name,price) values(#{orderId},#{name},#{price})
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-boot/sjdemo/src/main/resources/mapper/OrderMapper.xml b/spring-boot/sjdemo/src/main/resources/mapper/OrderMapper.xml
index 27f814b..6224d4b 100644
--- a/spring-boot/sjdemo/src/main/resources/mapper/OrderMapper.xml
+++ b/spring-boot/sjdemo/src/main/resources/mapper/OrderMapper.xml
@@ -2,8 +2,16 @@
-
- insert into order(uId,createTime,totalPrice) values(#{uId},#{createTime},#{totalPrice})
+
+ insert into order(userId,createTime,totalPrice) values(#{userId},#{createTime},#{totalPrice})
+
+
+
+
\ No newline at end of file
diff --git a/spring-boot/sjdemo/src/main/resources/mapper/UserMapper.xml b/spring-boot/sjdemo/src/main/resources/mapper/UserMapper.xml
index 35dd78f..d30f744 100644
--- a/spring-boot/sjdemo/src/main/resources/mapper/UserMapper.xml
+++ b/spring-boot/sjdemo/src/main/resources/mapper/UserMapper.xml
@@ -2,11 +2,19 @@
-
- insert into user(name,age) values(#{name},#{age})
+
+ insert into user(name,age
+
+ ,userId
+
+ ) values(#{name},#{age}
+
+ ,#{userId}
+
+ )
-
-