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     }
    测试类
  • 相关阅读:
    Hibernate中的一对一注解配置
    Hibernate=====HQL实用技术
    Hibernate中的session的线程安全问题
    初学orcale(一)
    initBinder转换日期格式
    poi学习
    jqueryUI学习
    JavaScript中node的相关属性
    JavaScript函数的调用(通过节点)--JavaScript DOM编程艺术
    DOM中的四种方法--Javascript DOM编程艺术
  • 原文地址:https://www.cnblogs.com/Dean-0/p/11726267.html
Copyright © 2011-2022 走看看