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 @@
-
+