From 8b8a49a05085a8bcf596a9de2a880737b0e8d3ed Mon Sep 17 00:00:00 2001
From: jml <3533654221@qq.com>
Date: Mon, 1 Jun 2026 10:26:56 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=B5=8B=E8=AF=95=E7=B1=BBTe?=
=?UTF-8?q?stStock?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/com/ssm/mapper/StockMapper.xml | 44 +++++++++++-
.../src/com/ssm/test/TestStock.java | 72 ++++++++++++++++---
ffms-MyBatisProject/src/config.xml | 2 +-
3 files changed, 107 insertions(+), 11 deletions(-)
diff --git a/ffms-MyBatisProject/src/com/ssm/mapper/StockMapper.xml b/ffms-MyBatisProject/src/com/ssm/mapper/StockMapper.xml
index 44183e7..61833c1 100644
--- a/ffms-MyBatisProject/src/com/ssm/mapper/StockMapper.xml
+++ b/ffms-MyBatisProject/src/com/ssm/mapper/StockMapper.xml
@@ -4,12 +4,54 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
+
+
+
+
+
+
+ INSERT INTO stock(user_id, stock_name, stock_code, hold_num, buy_price, create_time)
+ VALUES (#{userId}, #{stockName}, #{stockCode}, #{holdNum}, #{buyPrice}, #{createTime})
+
+
+
+
+ UPDATE stock
+ SET user_id = #{userId},
+ stock_name = #{stockName},
+ stock_code = #{stockCode},
+ hold_num = #{holdNum},
+ buy_price = #{buyPrice},
+ create_time = #{createTime}
+ WHERE id = #{id}
+
+
+
+
+ DELETE FROM stock WHERE id = #{id}
+
+
+
+
+
\ No newline at end of file
diff --git a/ffms-MyBatisProject/src/com/ssm/test/TestStock.java b/ffms-MyBatisProject/src/com/ssm/test/TestStock.java
index e3f11c7..aa91e5a 100644
--- a/ffms-MyBatisProject/src/com/ssm/test/TestStock.java
+++ b/ffms-MyBatisProject/src/com/ssm/test/TestStock.java
@@ -5,26 +5,80 @@ import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
+
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
public class TestStock {
public static void main(String[] args) throws Exception {
- // 加载配置
+ // 1. 加载MyBatis配置文件,创建SqlSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder()
.build(Resources.getResourceAsStream("config.xml"));
+ // 2. 打开会话
try (SqlSession session = factory.openSession()) {
- // 1. 查询所有股票
- List list = session.selectList("com.ssm.mapper.StockMapper.findAllStock");
+
+ // ====================== 1. 查询所有股票 ======================
System.out.println("===== 组员A:查询所有股票 =====");
- for (Stock stock : list) {
- System.out.println(stock);
+ List allStock = session.selectList("com.ssm.mapper.StockMapper.findAllStock");
+ for (Stock s : allStock) {
+ System.out.println(s);
}
- // 2. 根据ID查询股票
- Stock stock = session.selectOne("com.ssm.mapper.StockMapper.findStockById", 1);
- System.out.println("\n===== 组员A:按ID查询股票 =====");
- System.out.println(stock);
+ // ====================== 2. 根据ID查询股票 ======================
+ System.out.println("\n===== 组员A:按ID查询股票(ID=1) =====");
+ Stock stockById = session.selectOne("com.ssm.mapper.StockMapper.findStockById", 1);
+ System.out.println(stockById);
+
+ // ====================== 3. 添加股票 ======================
+ System.out.println("\n===== 组员A:添加股票 =====");
+ Stock newStock = new Stock();
+ newStock.setUserId(1);
+ newStock.setStockName("测试股票");
+ newStock.setStockCode("000001");
+ newStock.setHoldNum(100);
+ newStock.setBuyPrice(10.5);
+ newStock.setCreateTime(new Date());
+ int addRows = session.insert("com.ssm.mapper.StockMapper.addStock", newStock);
+ session.commit(); // 必须提交事务
+ System.out.println("✅ 添加股票成功!影响行数:" + addRows);
+
+ // ====================== 4. 修改股票 ======================
+ System.out.println("\n===== 组员A:修改股票(ID=1) =====");
+ Stock updateStock = new Stock();
+ updateStock.setId(1);
+ updateStock.setUserId(1);
+ updateStock.setStockName("腾讯控股(更新)");
+ updateStock.setStockCode("0700.HK");
+ updateStock.setHoldNum(200);
+ updateStock.setBuyPrice(350.5);
+ updateStock.setCreateTime(new Date());
+ int updateRows = session.update("com.ssm.mapper.StockMapper.updateStock", updateStock);
+ session.commit(); // 必须提交事务
+ System.out.println("✅ 修改股票成功!影响行数:" + updateRows);
+
+ // ====================== 5. 删除股票(用ID=11的测试数据) ======================
+ System.out.println("\n===== 组员A:删除股票(ID=11) =====");
+ int deleteRows = session.delete("com.ssm.mapper.StockMapper.deleteStockById", 11);
+ session.commit(); // 必须提交事务
+ System.out.println("✅ 删除股票成功!影响行数:" + deleteRows);
+
+ // ====================== 6. 多条件组合查询(第13次任务) ======================
+ System.out.println("\n===== 组员A:多条件查询股票(用户ID=1 且 名称含'腾讯') =====");
+ Map params = new HashMap<>();
+ // 条件1:用户ID为1
+ params.put("userId", 1);
+ // 条件2:股票名称包含"腾讯"(可注释掉,实现只按用户ID查询)
+ params.put("stockName", "腾讯");
+ // 条件3:股票代码模糊匹配(可选)
+ // params.put("stockCode", "HK");
+
+ List list = session.selectList("com.ssm.mapper.StockMapper.findStockByCondition", params);
+ for (Stock s : list) {
+ System.out.println(s);
+ }
}
}
}
\ No newline at end of file
diff --git a/ffms-MyBatisProject/src/config.xml b/ffms-MyBatisProject/src/config.xml
index 23328f5..f6a7b92 100644
--- a/ffms-MyBatisProject/src/config.xml
+++ b/ffms-MyBatisProject/src/config.xml
@@ -9,7 +9,7 @@
-
+