一、ProviderDao层

复制代码
   //智能标签案例
    //智能标签多条件查询
    public List<Provider> providerTest(@Param("proCode") String proCode, @Param("proName") String proName);
    //智能标签进行修改
    public int updatePro(Provider provider);
    //查询范围(数组)
    public List<Provider> getProInData(String [] proCodes);
    //查询范围(集合)
    public List<Provider> getProList(List<String> list);
    //查询范围(多个集合)
    public List<Provider> getProObject(@Param("proCodeList") List<Provider> proCodeList,@Param("proNameList") List<Provider> proNameList);
复制代码

二、ProviderDao.xml小配置文件

复制代码
<!--智能标签案例-->
    <!--智能标签多条件查询-->
    <select id="providerTest" resultType="com.marketsys.entity.Provider">
        select * from smbms.smbms_provider
        <where>
            <if test="proCode!=null and proCode!=''">
                and proCode like concat ('%',#{proCode},'%')
            </if>
            <if test="proName!=null and proName!=''">
                and proName like concat ('%',#{proName},'%')
            </if>
        </where>
    </select>
    <!--智能标签进行修改-->
    <update id="updatePro">
        update smbms_provider
        <trim prefix="SET" suffixOverrides=",">
            <!--<set>-->
                <if test="proCode!=null and proCode!=''">
                    proCode=#{proCode},
                </if>
                <if test="proName!=null and proName!=''">
                    proName=#{proName},
                </if>
            <!--</set>-->
        </trim>
        where id=#{id}
    </update>
    <!--查询范围(数组)-->
    <select id="getProInData" resultType="com.marketsys.entity.Provider">
        <!--select * from smbms.smbms_provider where proCode in ( ? , ? )-->
        select * from smbms.smbms_provider where proCode in
        <!--colletion 代表参数类型   open代表开头  close代表结尾  separator每一项数据分隔符  item代表每一项-->
        <foreach collection="array" open="(" close=")" separator="," item="proCode">
            #{proCode}
        </foreach>
    </select>
    <!--查询范围(集合)-->
    <select id="getProList" resultType="com.marketsys.entity.Provider">
        select * from smbms.smbms_provider
        <if test="list.size>0">
            where proCode in
            <!--colletion 代表参数类型   open代表开头  close代表结尾  separator每一项数据分隔符  item代表每一项-->
            <foreach collection="list" open="(" close=")" separator="," item="proCode">
                #{proCode}
            </foreach>
        </if>
    </select>
    <!--查询范围(多个集合)-->
    <select id="getProObject" resultType="com.marketsys.entity.Provider">
        select * from smbms.smbms_provider where proCode in
            <!--colletion 代表参数类型   open代表开头  close代表结尾  separator每一项数据分隔符  item代表每一项-->
            <foreach collection="proCodeList" open="(" close=")" separator="," item="proCode">
                #{proCode.proCode}
            </foreach>
            and proName in
            <foreach collection="proNameList" open="(" close=")" separator="," item="proName">
                #{proName.proName}
            </foreach>
    </select>
复制代码

 

三、test类

复制代码
public class providerTest {
    SqlSession sqlSession=MybatisUtil.getSqlSession();
    ProviderDao mapper = sqlSession.getMapper(ProviderDao.class);
    //智能标签多条件查询
    @Test
    public void getAllPro(){
        List<Provider> providers = mapper.providerTest("GZ", "深圳");
        for (Provider pro:providers) {
            System.out.println(pro.getProName());
        }
    }
    //智能标签进行修改
    @Test
    public void updatePro(){
        Provider provider=new Provider();
        provider.setId(10);
        provider.setProCode("JS_GYS012");
        provider.setProName("小南京火头军信息技术有限公司");
        int count=mapper.updatePro(provider);
        sqlSession.commit();
        System.out.println(count);
    }
    //查询范围(数组)
    @Test
    public void getInPro(){
        List<Provider> providers = mapper.getProInData(new String[]{"BJ_GYS001","BJ_GYS002"});
        for (Provider pro:providers) {
            System.out.println(pro.getProName());
        }
    }
    //查询范围(集合)
    @Test
    public void getProList(){
        List<String> list=new ArrayList<>();
        list.add("BJ_GYS002");
        list.add("BJ_GYS001");
        List<Provider> providerData=mapper.getProList(list);
        for (Provider pro:providerData) {
            System.out.println(pro.getProName());
        }
    }
    //查询范围(多个集合)
    @Test
    public void getProObject(){
        List<Provider> list =new ArrayList<Provider>();
        Provider provider=new Provider();
        provider.setProCode("BJ_GYS002");
        list.add(provider);

        List<Provider> list2 =new ArrayList<Provider>();
        Provider provider2=new Provider();
        provider2.setProName("北京纳福尔食用油有限公司");
        list2.add(provider2);
        List<Provider> providerData=mapper.getProObject(list,list2);
        for (Provider pro:providerData) {
            System.out.println(pro.getProName());
        }
    }
}
posted on 2019-10-12 08:17  神剑战王  阅读(117)  评论(0编辑  收藏  举报