|
|
|
|
@ -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<Stock> list = session.selectList("com.ssm.mapper.StockMapper.findAllStock");
|
|
|
|
|
|
|
|
|
|
// ====================== 1. 查询所有股票 ======================
|
|
|
|
|
System.out.println("===== 组员A:查询所有股票 =====");
|
|
|
|
|
for (Stock stock : list) {
|
|
|
|
|
System.out.println(stock);
|
|
|
|
|
List<Stock> 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<String, Object> params = new HashMap<>();
|
|
|
|
|
// 条件1:用户ID为1
|
|
|
|
|
params.put("userId", 1);
|
|
|
|
|
// 条件2:股票名称包含"腾讯"(可注释掉,实现只按用户ID查询)
|
|
|
|
|
params.put("stockName", "腾讯");
|
|
|
|
|
// 条件3:股票代码模糊匹配(可选)
|
|
|
|
|
// params.put("stockCode", "HK");
|
|
|
|
|
|
|
|
|
|
List<Stock> list = session.selectList("com.ssm.mapper.StockMapper.findStockByCondition", params);
|
|
|
|
|
for (Stock s : list) {
|
|
|
|
|
System.out.println(s);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|