Mybatis框架-18:多表操作之一对多——添加操作
2019-06-08 23:09
435 查看
第一步:mapper
客户mapper,执行插入客户操作
[code] void insertCustomer(Customer customer);
订单mapper,执行插入订单和更新订单的操作(更新订单就是要更新他的外键)
[code] void insertOrde(Order order);
[code]//更新订单,建立好外键,也就是这个订单是属于谁的 void updateCustId(@Param("cust_id") Integer cust_id, @Param("orderId") Integer orderId);
第二步:mapper.xml的sql语句
客户的mapper.xml
[code]<insert id="insertCustomer" parameterType="Customer" useGeneratedKeys="true" keyProperty="cust_id" keyColumn="cust_id"> insert into `customer` (cust_name,cust_profession,cust_phone,email) values (#{cust_name},#{cust_profession},#{cust_phone},#{email}) </insert>
订单的mapper.xml
这里一个插入,一个更新,以为更新的时候需要主键,所以这里设置了已插入后就获取主键
[code] <insert id="insertOrde" parameterType="com.ctbu.domain.Order" useGeneratedKeys="true" keyColumn="orderId" keyProperty="orderId"> insert into `order` (orderName,orderNum,orderCustId) values (#{orderName},#{orderNum},#{customer.cust_id}) </insert> <update id="updateCustId"> update `order` set `orderCustId`=#{cust_id} where `orderId`=#{orderId}; </update>
第三步:编写测试类
[code]@Test public void test8(){ SqlSession session = MyUtils.openSession(); CustomerMapper mapper = session.getMapper(CustomerMapper.class); OrderMapper orderMapper = session.getMapper(OrderMapper.class); //创建客户 Customer customer = new Customer(); customer.setCust_name("步惊云"); //创建订单一 Order order = new Order(); order.setOrderName("天猫订单"); //创建订单二 Order order1 = new Order(); order1.setOrderName("京东订单"); //将订单放入用户的订单集合中 customer.getOrders().add(order); customer.getOrders().add(order1); //保存数据 mapper.insertCustomer(customer); orderMapper.insertOrde(order); orderMapper.insertOrde(order1); //更新关系 for (Order order2 : customer.getOrders()) { orderMapper.updateCustId(customer.getCust_id(),order2.getOrderId()); } session.commit(); session.close(); }
相关文章推荐
- Mybatis框架-22:多表操作之多对多——添加操作
- mybatis 框架 的应用之二(批量添加、实现分页查询)
- 利用WhiteHose一步步建立分布式系统的框架(七)--添加组件的操作并实现分布式系统
- 使用MyBatis框架进行数据库的增删改查操作
- mybatis 框架 的应用之三(操作两张没有关联的表,存在主键和外键关系)
- mybatis 用户添加,删除,更改 操作
- maven 管理 springmvc框架 mybatis操作数据库项目搭建
- Mybatis框架-20:多表操作之多对多——查询所有
- 以SpringMVC框架为中心疯狂扩展-04、添加mybatis依赖
- SSM框架day02-MyBatis——021对单表的CURD操作-环境搭建
- SSM框架day02-MyBatis——027——对单表的CURD操作-根据id查询
- mybatis实战之路,疯狂的数据库操作框架、动态sql的mybats之快速搭建基本环境
- 搭建SpringMVC+Mybatis框架并实现数据库的操作
- Mybatis框架的模糊查询(多种写法)、删除、添加(四)
- MyBatis框架中通过映射文件或实现增删改查操作
- mybatis框架下mysql多表更新的操作
- SSM框架day02-MyBatis——022对单表的CURD操作-获取新插入数据的id
- mybatis-generator 添加分页操作
- 【MyBatis】(一)MyBatis基础知识点(概念,Mybatis框架的优缺点,简单的Mybatis框架使用Demo,基本的增删改查操作案例)
- Mybatis框架-21:多表操作之多对多——分步查询