zoukankan      html  css  js  c++  java
  • mybatis练习三---动态SQL查询练习

    1、接口类

      1 /**
      2      * 实现按条件查询订单表,查询条件如下(无内部嵌套)
      3      * 商品名称(模糊查询)
      4      * 供应商(供应商id)
      5      * 是否付款
      6      * @param bill
      7      * @return
      8      */
      9     public Bill getBillByOther(Bill bill);
     10 
     11 
     12 /**
     13      * 改造供应商表的查询功能,使用动态SQL完善此功能
     14      * 查询条件
     15      * 供应商编码(模糊查询)
     16      * 供应商名称(模糊查询)
     17      * @param proCode
     18      * @param proName
     19      * @return
     20      */
     21     public List<Provider> getProviderListByProCodeOrproName(@Param("proCode")String proCode,@Param("proName")String proName);
     22 
     23 
     24 
     25 /**
     26      * 改造供应商表修改操作 (if+set)
     27      * 需更新modifyDate和modifyBy,createBy和creationDate不需要更新
     28      * @param provider
     29      * @return
     30      */
     31     public int updateProviderByProId(Provider provider);
     32 
     33 
     34 
     35 /**
     36      * 改造供应商表修改操作 (if+trim)
     37      * 需更新modifyDate和modifyBy,createBy和creationDate不需要更新
     38      * @param provider
     39      * @return
     40      */
     41     public int updateProviderByProId_iftrim(Provider provider);
     42 
     43 
     44 
     45 /**
     46      * 指定供应商列表(1-n个),获取这些供应商下的订单列表信息 Array
     47      * @param ids
     48      * @return
     49      */
     50     public List<Provider> getProviderByIds_Array(Integer[] ids);
     51 
     52 
     53 
     54 /**
     55      * 指定供应商列表(1-n个),获取这些供应商下的订单列表信息 List
     56      * @param ids
     57      * @return
     58      */
     59     public List<Provider> getProviderByIds_List(List<Integer> ids);
     60 
     61 
     62 
     63 /**
     64      * 实现按条件查询供应商表,查询条件如下
     65      * 供应商编码(模糊查询)
     66      * 供应商名称(模糊查询)
     67      * 供应商联系人(模糊查询)
     68      * 创建时间在本年内(时间范围)
     69      * 查询结果列显示:供应商id、供应商编码、供应商名称、供应商联系人、创建时间
     70      * @param 
     71      * @return
     72      */
     73     public List<Provider> getProviderList_choose(Map<String,String> map);
     74 
     75 
     76 
     77 /**
     78      * 为供应商管理之查询供应商列表功能增加分页实现
     79      * @param proCode 供应商编码
     80      * @param proName proName
     81      * @param currentPageNo 当前页的起始下标
     82      * @param pageSize 页面长度
     83      * @return
     84      */
     85     public List<Provider> getProviderList_fenye(@Param("proCode") String proCode,@Param("proName") String proName,
     86                                                 @Param("from")Integer currentPageNo,
     87                                                 @Param("pageSize")Integer pageSize);
     88 
     89 
     90 
     91 /**
     92      * 为订单管理之查询订单列表功能增分页实现
     93      * @param billCode 账单编码
     94      * @param providerId 供应商ID
     95      * @param currentPageNo 当前页的起始下标
     96      * @param pageSize 页面长度
     97      * @return
     98      */
     99     public List<Bill> getBillList_fenye(@Param("billCode") String billCode,@Param("providerId") String providerId,
    100                                                 @Param("from")Integer currentPageNo,
    101                                                 @Param("pageSize")Integer pageSize);
    接口类

    2、Mapper.xml

    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、供应商编码proCode、供应商名称proName、联系人proContact、联系电话proPhone、
     27     //传真proFax、创建时间creationDate
     28     @Test
     29     public void test13(){
     30         SqlSession sqlSession= myBatisUntil.getSqlSession();
     31         List<Provider> providers = sqlSession.getMapper(ProviderMapper.class).getProviderListByProCodeOrproName("GYS001", "三木堂");
     32         for (Provider provider : providers) {
     33             System.out.println("供应商id:"+provider.getId()+"供应商编码:"+provider.getProCode()
     34                     +"供应商名称:"+provider.getProName()+"联系人:"+provider.getProContact()
     35                     +"联系电话:"+provider.getProPhone()+"传真:"+provider.getProFax()+"创建时间:"
     36                     +provider.getCreationDate());
     37         }
     38     }
     39 
     40     /**
     41      *     改造供应商表修改操作 (if+set)
     42      *     需更新modifyDate和modifyBy,createBy和creationDate不需要更新
     43      */
     44     @Test
     45     public void test14(){
     46         SqlSession sqlSession= myBatisUntil.getSqlSession();
     47         Provider provider = new Provider();
     48         Date date = new Date();
     49         provider.setId(16);
     50         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
     51         provider.setModifyDate(simpleDateFormat.format(date));
     52         provider.setModifyBy(2);
     53         int i = sqlSession.getMapper(ProviderMapper.class).updateProviderByProId(provider);
     54         sqlSession.commit();
     55         System.out.println(i);
     56     }
     57 
     58     /**
     59      *     改造供应商表修改操作 (if+trim)
     60      *     需更新modifyDate和modifyBy,createBy和creationDate不需要更新
     61      */
     62     @Test
     63     public void test15(){
     64         SqlSession sqlSession= myBatisUntil.getSqlSession();
     65         Provider provider = new Provider();
     66         Date date = new Date();
     67         provider.setId(16);
     68         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
     69         provider.setModifyDate(simpleDateFormat.format(date));
     70         provider.setModifyBy(3);
     71         int i = sqlSession.getMapper(ProviderMapper.class).updateProviderByProId_iftrim(provider);
     72         sqlSession.commit();
     73         System.out.println(i);
     74     }
     75 
     76     /**
     77      *     指定供应商列表(1-n个),获取这些供应商下的订单列表信息 array
     78      */
     79     @Test
     80     public void test16(){
     81         SqlSession sqlSession= myBatisUntil.getSqlSession();
     82         Integer[] ids = {2,3};
     83         List<Provider> providerByIds_array = sqlSession.getMapper(ProviderMapper.class).getProviderByIds_Array(ids);
     84         for (Provider provider : providerByIds_array) {
     85             System.out.println("供应商id"+provider.getId()+"供应商编码"+provider.getProCode()
     86                     +"供应商名称:"+provider.getProName()+"联系人:"+provider.getProContact());
     87             for (Bill bill : provider.getBillList()) {
     88                 System.out.println("订单编码:"+bill.getBillCode()+"商品名称:"+bill.getProductName()
     89                         +"订单金额:"+bill.getTotalPrice()+"是否付款(1、未付款 2、已付款):"+bill.getIsPayment());
     90             }
     91         }
     92     }
     93 
     94     /**
     95      *     指定供应商列表(1-n个),获取这些供应商下的订单列表信息 List
     96      */
     97     @Test
     98     public void test17(){
     99         SqlSession sqlSession= myBatisUntil.getSqlSession();
    100         List<Integer> ids = new ArrayList<>();
    101         ids.add(2);
    102         ids.add(3);
    103         List<Provider> providerByIds_array = sqlSession.getMapper(ProviderMapper.class).getProviderByIds_List(ids);
    104         for (Provider provider : providerByIds_array) {
    105             System.out.println("供应商id"+provider.getId()+"供应商编码"+provider.getProCode()
    106                     +"供应商名称:"+provider.getProName()+"联系人:"+provider.getProContact());
    107             for (Bill bill : provider.getBillList()) {
    108                 System.out.println("订单编码:"+bill.getBillCode()+"商品名称:"+bill.getProductName()
    109                         +"订单金额:"+bill.getTotalPrice()+"是否付款(1、未付款 2、已付款):"+bill.getIsPayment());
    110             }
    111         }
    112     }
    113 
    114     /**
    115      * 实现按条件查询供应商表,查询条件如下
    116      * 供应商编码(模糊查询)
    117      * 供应商名称(模糊查询)
    118      * 供应商联系人(模糊查询)
    119      * 创建时间在本年内(时间范围)
    120      * 查询结果列显示:供应商id、供应商编码、供应商名称、供应商联系人、创建时间
    121      */
    122     @Test
    123     public void test18(){
    124         SqlSession sqlSession= myBatisUntil.getSqlSession();
    125         Map<String,String> map = new HashMap<>();
    126         map.put("proCode","");
    127         map.put("proName","三木堂");
    128         map.put("proContact","");
    129         map.put("creationDate","");
    130         List<Provider> providerList_choose = sqlSession.getMapper(ProviderMapper.class).getProviderList_choose(map);
    131         for (Provider provider : providerList_choose) {
    132             System.out.println("供应商id:"+provider.getId()+"供应商编码:"+provider.getProCode()
    133                     +"供应商名称:"+provider.getProName()+"供应商联系人:"+provider.getProContact()
    134                     +"创建时间:"+provider.getCreationDate());
    135         }
    136     }
    137     
    138     @Test
    139     public void test19(){
    140         SqlSession sqlSession= myBatisUntil.getSqlSession();
    141         String proCode = "";
    142         String proName = "";
    143         Integer from = 3;
    144         Integer pageSize = 3;
    145         List<Provider> providerList_fenye = sqlSession.getMapper(ProviderMapper.class).getProviderList_fenye(proCode, proName, from, pageSize);
    146         for (Provider provider : providerList_fenye) {
    147             System.out.println("供应商id:"+provider.getId()+"供应商编码:"+provider.getProCode()
    148                     +"供应商名称:"+provider.getProName()+"供应商联系人:"+provider.getProContact()
    149                     +"创建时间:"+provider.getCreationDate());
    150         }
    151     }
    152 
    153     @Test
    154     public void test20(){
    155         SqlSession sqlSession= myBatisUntil.getSqlSession();
    156         String billCode = "";
    157         String providerId = "";
    158         Integer from = 0;
    159         Integer pageSize = 3;
    160         List<Bill> billList_fenye = sqlSession.getMapper(ProviderMapper.class).getBillList_fenye(billCode, providerId, from, pageSize);
    161         for (Bill bill : billList_fenye) {
    162             System.out.println("订单编码:"+bill.getBillCode()+"商品名称:"+bill.getProductName()
    163                     +"订单金额:"+bill.getTotalPrice()+"是否付款(1、未付款 2、已付款):"+bill.getIsPayment());
    164         }
    165         
    166     }
    测试类
  • 相关阅读:
    Nginx开启GZIP来压缩网页
    Nginx使用Expires增加浏览器缓存加速
    解决svn working copy locked问题
    Haproxy日志配置
    Nginx内置变量以及日志格式变量参数详解
    利用nginx来屏蔽指定的user_agent的访问以及根据user_agent做跳转
    提升linux下tcp服务器并发连接数限制
    Tomcat的SSL证书配置以及Tomcat+Nginx实现SSL配置
    配置Nginx支持SSL SNI(一个IP绑定多个证书) 以及Haproxy实现多域名证书
    Nginx限制访问速率和最大并发连接数模块--limit (防范DDOS攻击)
  • 原文地址:https://www.cnblogs.com/Dean-0/p/11733422.html
Copyright © 2011-2022 走看看