zoukankan      html  css  js  c++  java
  • mybatis练习之二

    1、接口类

     1  /**
     2      * 实现按条件查询订单表,查询条件如下
     3      * 商品名称(模糊查询)
     4      * 供应商(供应商id)
     5      * 是否付款
     6      * @param bill
     7      * @return
     8      */
     9     public Bill getBillByOther(Bill bill);
    10 
    11 
    12 /**
    13      * 增加供货商信息
    14      * @param provider 供货商实体类
    15      * @return
    16      */
    17     public int addProvide(Provider provider);
    18 
    19 
    20 
    21 /**
    22      * 实现根据供应商id修改供应商信息
    23      * @param provider
    24      * @return
    25      */
    26     public int updateProviderByid(Provider provider);
    27 
    28 
    29 
    30 /**
    31      * 实现根据供应商id删除供应商信息
    32      * @param id
    33      * @return
    34      */
    35     public int delProviderByid(@Param("id") String id);
    36 
    37 
    38 
    39 /**
    40      * 根据供应商id获取供应商及其订单列表
    41      * @param id
    42      * @return
    43      */
    44     public Provider getProviderBillList(String id);
    45 
    46 
    47 
    48 /**
    49      * 根据商品名称(模糊查询)、供应商id、是否付款查询订单以及供应商信息
    50      * @param bill
    51      * @return
    52      */
    53     public Bill getBillProviderByBill(Bill bill);
    接口类

    2、Mapper.xml的配置

     1 <!--    实现按条件查询订单表(无内部嵌套)-->
     2     <select id="getBillByOther" resultMap="BillProviderResult" parameterType="Bill">
     3         SELECT b.*,p.proName FROM smbms_bill b,smbms_provider p WHERE b.providerId = p.id and b.providerId = #{providerId} and isPayment = #{isPayment} and productName LIKE CONCAT('%',#{productName},'%')
     4 </select>
     5 <resultMap id="BillProviderResult" type="Bill">
     6         <result property="billCode" column="billCode"></result>
     7         <result property="productName" column="productName"></result>
     8         <result property="totalPrice" column="totalPrice"></result>
     9         <result property="isPayment" column="isPayment"></result>
    10         <result property="creationDate" column="creationDate"></result>
    11         <result property="providerName" column="providerName"></result>
    12     </resultMap>
    13 
    14 
    15 <!--    实现根据供应商id修改供应商信息-->
    16     <update id="updateProviderByid" parameterType="Provider">
    17         update smbms_provider set proContact=#{proContact},proPhone=#{proPhone} where id=#{id}
    18     </update>
    19 
    20 
    21 <!--    实现根据供应商id删除供应商信息-->
    22     <delete id="delProviderByid" parameterType="String">
    23         delete from smbms_provider where id=#{id}
    24     </delete>
    25 
    26 
    27 
    28 <!--    根据供应商id获取供应商及其订单列表-->
    29     <select id="getProviderBillList" resultMap="providerBillList" parameterType="String">
    30         select p.*,b.billCode,b.productName,b.totalPrice,b.isPayment from smbms_bill b,smbms_provider p where b.providerId = p.id and p.id = #{id}
    31     </select>
    32 
    33  <resultMap id="providerBillList" type="Provider">
    34         <id property="id" column="id"></id>
    35         <result property="proCode" column="proCode"></result>
    36         <result property="proName" column="proName"></result>
    37         <result property="proContact" column="proContact"></result>
    38         <result property="proPhone" column="proPhone"></result>
    39         <collection property="billList" ofType="Bill" resultMap="billList"></collection>
    40     </resultMap>
    41 
    42 <resultMap id="billList" type="Bill">
    43         <result property="billCode" column="billCode"></result>
    44         <result property="productName" column="productName"></result>
    45         <result property="totalPrice" column="totalPrice"></result>
    46         <result property="isPayment" column="isPayment"></result>
    47     </resultMap>
    48 
    49 
    50 
    51 
    52 
    53 <!--    根据商品名称(模糊查询)、供应商id、是否付款查询订单以及供应商信息-->
    54     <select id="getBillProviderByBill" resultMap="billProviderByBill" parameterType="Bill">
    55         select b.*,p.proCode,p.proName,p.proContact,p.proPhone from smbms_bill b,smbms_provider p where b.providerId = p.id and productName LIKE CONCAT('%',#{productName},'%') and providerId = #{providerId} and isPayment=#{isPayment}
    56     </select>
    57 
    58 <resultMap id="billProviderByBill" type="Bill">
    59         <result property="billCode" column="billCode"></result>
    60         <result property="productName" column="productName"></result>
    61         <result property="totalPrice" column="totalPrice"></result>
    62         <result property="isPayment" column="isPayment"></result>
    63         <association property="provider" javaType="provider" resultMap="providerList"></association>
    64     </resultMap>
    65 
    66 <resultMap id="providerList" type="Provider">
    67         <result property="proCode" column="proCode"></result>
    68         <result property="proName" column="proName"></result>
    69         <result property="proContact" column="proContact"></result>
    70         <result property="proPhone" column="proPhone"></result>
    71     </resultMap>
    Mapper.xml的配置

    3、测试类

      1 /**
      2      * 实现按条件查询订单表,查询条件如下
      3      * 商品名称(模糊查询)
      4      * 供应商(供应商id)
      5      * 是否付款
      6      */
      7     @Test
      8     public void test07() {
      9         SqlSession sqlSession = myBatisUntil.getSqlSession();
     10         Bill bill = new Bill();
     11         bill.setProductName("日用");
     12         bill.setProviderId(13);
     13         bill.setIsPayment(2);
     14         Bill billByOther = sqlSession.getMapper(ProviderMapper.class).getBillByOther(bill);
     15         if (billByOther == null){
     16             System.out.println("查无信息");
     17         }else {
     18             System.out.println("订单编码:"+billByOther.getBillCode()+"	商品名称"+billByOther.getProductName()
     19                     +"	供应商名称"+billByOther.getProviderName()+"	账单金额"+billByOther.getTotalPrice()
     20                     +"	是否付款"+billByOther.getIsPayment()+"	创建时间"+billByOther.getCreationDate());
     21         }
     22        
     23     }
     24 
     25     /**
     26      * 实现根据供应商id修改供应商信息
     27      */
     28     @Test
     29     public void test08(){
     30         SqlSession sqlSession = myBatisUntil.getSqlSession();
     31 
     32         Provider provider = new Provider();
     33         provider.setId(15);
     34         provider.setProContact("冯宝宝");
     35         provider.setProPhone("18060975170");
     36         int count = sqlSession.getMapper(ProviderMapper.class).updateProviderByid(provider);
     37         sqlSession.commit();
     38         System.out.println("添加:"+count);
     39     }
     40 
     41     /**
     42      * 实现根据供应商id删除供应商信息
     43      */
     44     @Test
     45     public void test09(){
     46         SqlSession sqlSession = myBatisUntil.getSqlSession();
     47        
     48         int count = sqlSession.getMapper(ProviderMapper.class).delProviderByid("16");
     49         sqlSession.commit();
     50         System.out.println("添加:"+count);
     51     }
     52 
     53     /**
     54      * 根据供应商id获取供应商及其订单列表
     55      */
     56     @Test
     57     public void test10(){
     58         SqlSession sqlSession = myBatisUntil.getSqlSession();
     59 
     60         Provider providerBillList = sqlSession.getMapper(ProviderMapper.class).getProviderBillList("1");
     61         sqlSession.commit();
     62         System.out.println("供应商id:"+providerBillList.getId()+"供应商编码:"
     63                 +providerBillList.getProCode()+"供应商联系人:"
     64                 +providerBillList.getProContact()+"供应商联系电话:"
     65                 +providerBillList.getProPhone());
     66         List<Bill> billList = providerBillList.getBillList();
     67         for (Bill bill : billList) {
     68             System.out.println("订单编码:"+bill.getBillCode()+"商品名称:"+bill.getProductName()
     69                     +"订单金额:"+bill.getTotalPrice()+"是否付款(1、未付款 2、已付款):"+bill.getIsPayment());
     70         }
     71     }
     72 
     73     /**
     74      * 根据商品名称(模糊查询)、供应商id、是否付款查询订单以及供应商信息
     75      */
     76     @Test
     77     public void test11(){
     78         SqlSession sqlSession = myBatisUntil.getSqlSession();
     79         Bill bill = new Bill();
     80         bill.setProductName("皂");
     81         bill.setProviderId(13);
     82         bill.setIsPayment(2);
     83         Bill billProviderByBill = sqlSession.getMapper(ProviderMapper.class).getBillProviderByBill(bill);
     84         System.out.println("账单编码:"+billProviderByBill.getBillCode()+"商品名称:"
     85                 +billProviderByBill.getProductName()+"供应商编码:"
     86                 +billProviderByBill.getProvider().getProCode()+"供应商名称:"
     87                 +billProviderByBill.getProvider().getProName()+"供应商联系人:"
     88                 +billProviderByBill.getProvider().getProContact()+"联系电话:"+billProviderByBill.getProvider().getProPhone()
     89                 +"总金额:"+billProviderByBill.getTotalPrice()+"是否支付(1、未付款 2、已付款):"+billProviderByBill.getIsPayment());
     90     }
     91 
     92 
     93 /**
     94      * 增加供货商信息
     95      */
     96     @Test
     97     public void test04(){
     98         SqlSession sqlSession = myBatisUntil.getSqlSession();
     99         
    100         Provider provider = new Provider();
    101         provider.setId(16);
    102         provider.setProCode("ZJ_GYS002");
    103         provider.setProName("乐摆日用品厂");
    104         provider.setProDesc("长期合作伙伴,主营产品:各种中、高档塑料杯,塑料乐扣水杯(密封杯)、保鲜杯(保鲜盒)、广告杯、礼品杯");
    105         provider.setProContact("王佳欣");
    106         provider.setProPhone("18060975170");
    107         provider.setProAddress("湖里区");
    108         provider.setProFax("0579-34452321");
    109         provider.setCreatedBy(1);
    110         provider.setCreationDate("2019-10-21 10:01:30");
    111         int count = sqlSession.getMapper(ProviderMapper.class).addProvide(provider);
    112         sqlSession.commit();
    113         System.out.println("添加:"+count);
    114     }
    测试类
  • 相关阅读:
    笔记35 跨重定向请求传递数
    判断邮箱的正则表达式
    按钮
    async await 的用法
    笔记34 Spring MVC的高级技术——处理multipart形式的数据
    Convert Sorted Array to Binary Search Tree
    Binary Tree Zigzag Level Order Traversal
    Unique Binary Search Trees,Unique Binary Search Trees II
    Validate Binary Search Tree
    Populating Next Right Pointers in Each Node,Populating Next Right Pointers in Each Node II
  • 原文地址:https://www.cnblogs.com/Dean-0/p/11726267.html
Copyright © 2011-2022 走看看