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