1、接口类
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
3、测试类
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 }