MyBatis parâmetros Mapa, lista, Map <String, List <Integer >>, List <Map <String, Integer >> quando a redação do mpper.xml

Na tabela de banco de dados Oracle emp exemplo usuário Scott, em que o parâmetro é um mapper.xml List <Map <String, Integer >> quando o texto de notar que vários Oracle e MySQL

MySQL:

< Atualização id = "updateEmpByMapList" parameterType = "list" > 
        < foreach artigo = "paramMap" coleção = "paramMapList" abertas = "" perto = "" separador = "" > 
            atualização emp set sal = # {paramMap.SAL, jdbcType = INTEGER} onde empno = # {paramMap.EMPNO, jdbcType = INTEGER}; 
        </ Foreach > 
    </ update >

E a necessidade de aumentar os allowMultiQueries parâmetro = true depois de dirigir jdbc

Oráculo:

< Atualização id = "updateEmpByMapList" parameterType = "list" > 
        começar 
        < foreach de item = "paramMap" cobrança = "paramMapList" abertas = "" perto = "" separador = "" > 
            atualização emp set sal = # {paramMap.SAL, jdbcType = INTEGER} onde empno = # {paramMap.EMPNO, jdbcType = INTEGER}; 
        </ Foreach > 
        commit; 
        fim; 
    </ Update >

 

mapeador de interface

empacotar com.alphajuns.dao; 

importação org.apache.ibatis.annotations.Param; 

importação java.util.List;
importação java.util.Map; 

pública  de interface EmpMapper { 

    Lista <Map <String, >> findEmpByMap (@param ( "paramMap") Map <String,>? paramMap); 

    Lista <Map <String, >> findEmpByList (@param ( "paramList") List <Integer>? ParamList); 

    vazio updateEmpByMapList (@param ( "paramMapList") List <Map <String, Integer >> paramMapList); 

    Lista <Map <String,? >> findEmpByListMap (@param ( "paramListMap") Map <String, List <Integer >> paramlistmap); 
}

mapper.xml

<? xml version = "1.0" encoding = "utf-8" ?> 
<! DOCTYPE mapeador PUBLIC "- // mybatis.org//DTD Mapper 3.0 // EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 
< mapeador namespace = "com.alphajuns.dao. EmpMapper" > 

    < select id = "findEmpByMap" parameterType = "mapa" resultType = "mapa" > 
        SELECT * FROM emp onde trabalho = # {paramMap.JOB, jdbcType = VARCHAR} 
    </ selecionar > 

    < selecionar id = "findEmpByList" parameterType ="
       SELECT * FROM emp onde empno em 
        < foreach artigo = "item" index = "index" coleção = "paramList" abertas = "(" separador = "", perto = ")" > 
            # {artigo} 
        </ foreach > 
    </ escolha > 

    < atualização id = "updateEmpByMapList" parameterType = "list" > 
        começar 
        < foreach artigo = "paramMap" coleção = "paramMapList"abertas = "" perto = "" separador= "" > 
            Atualização emp set sal = # {paramMap.SAL, jdbcType = INTEGER} onde empno = # {paramMap.EMPNO, jdbcType = INTEGER}; 
        </ Foreach > 
        commit; 
        fim; 
    </ Update > 

    < select id = "findEmpByListMap" parameterType = "mapa" resultType = "mapa" > 
        SELECT * FROM emp onde empno em 
            < foreach artigo = "empno" index = "index" de cobrança = "paramListMap.empnoList" abertas = "(" perto ="
                # {empno} 
            </ foreach > 
    </ selecionar > 

</ mapeador >

interfaces de serviço

empacotar com.alphajuns.service; 

importação com.alphajuns.pojo.Employee; 

importação java.util.List;
importação java.util.Map; 

pública  de interface EmployeeService { 

    Lista <Map <String, >> findEmpByMap (Map <String,>? paramMap); 

    Lista <Map <String, >> findEmpByList (List <Integer>? ParamList); 

    vazio updateEmpByMapList (List <Map <String, Integer >> paramMapList); 

    Lista <Map <String, >> findEmpByListMap (Map <String, List <Integer >>? ParamListMap); 
}

classe de implementação do serviço

empacotar com.alphajuns.service.impl; 

importação com.alphajuns.dao.EmpMapper;
importação com.alphajuns.dao.IEmpDao;
importação com.alphajuns.pojo.Employee;
importação com.alphajuns.service.EmployeeService;
importação org.springframework.beans.factory.annotation.Autowired;
importação org.springframework.stereotype.Service; 

importação java.util.List;
importação java.util.Map; 

/ ** 
 * @ClassName EmployeeServiceImpl 
 * @description TODO 
 * @author AlphaJunS 
 * @Date 2020/03/25 19:51 
 * @Version 1,0 
 * / 
@Service 
pública  classeEmployeeServiceImpl implementos EmployeeService { 

    @Autowired 
    privada EmpMapper empMapper; 

    @Override 
    pública List <Map <String, >> findEmpByMap (Map <String,>? ParamMap) { 
        Lista <Map <String, >> empMapList =? EmpMapper.findEmpByMap (paramMap);
        voltar empMapList; 
    } 

    @Override 
    pública List <Map <String, >> findEmpByList (List <Integer>? ParamList) { 
        Lista <Map <String, >> empMapList =? EmpMapper.findEmpByList (paramList);
        voltar empMapList;

     vazio updateEmpByMapList (List <Map <String, Integer >> paramMapList) { 
        empMapper.updateEmpByMapList (paramMapList); 
    } 

    @Override 
    pública List <Map <String, >> findEmpByListMap (Map <String, List <Integer >>? ParamListMap) { 
        Lista <Map <String, >> empMapList =? EmpMapper.findEmpByListMap (paramListMap);
        voltar empMapList; 
    } 


}

classe de teste JUnit

importação org.junit.Before;
importação org.junit.Test;
importação org.junit.runner.RunWith;
importação org.springframework.test.context.ContextConfiguration;
importação org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 

/ ** 
 * @ClassName JunitSuperTest 
 * @description TODO 
 * @author AlphaJunS 
 * @Date 2020/03/25 20:39 
 * @Version 1,0 
 * / 
@RunWith (SpringJUnit4ClassRunner. Class ) 
@ContextConfiguration (locais = { "classpath *: applicationContext .xml" })
 público  classe JunitSuperTest { 

    @Before 
    pública anular o setup () { 
        System.out.println ( "====== ======== entrar método JUnit" ); 
    } 

}
importação com.alphajuns.service.EmployeeService;
importação org.junit.Test;
importação org.springframework.beans.factory.annotation.Autowired; 

importação java.util.ArrayList;
importação java.util.HashMap;
importação java.util.List;
importação java.util.Map; 

/ ** 
 * @ClassName MapperTest 
 * @description mapeador接口测试
 * @author AlphaJunS 
 * @Date 2020/03/30 20:47 
 * @Version 1,0 
 * / 
público  classe MapperTest estende JunitSuperTest { 

    @Autowired 
    privada EmployeeService employeeService; 

    @Teste
    pública  vazio testFindEmpByMap () { 
        Map <String, String> pramaMap = new HashMap <> (); 
        pramaMap.put ( "trabalho", "CLERK" ); 
        Lista <Map <String, >> empMapList =? EmployeeService.findEmpByMap (pramaMap); 
        System.out.println ( "empMapList:" + empMapList); 
    } 

    @Test 
    pública  vazio testFindEmpByList () { 
        Lista <Integer> empnoList = new ArrayList <> (); 
        empnoList.add ( 7788 ); 
        empnoList.
        Lista <Map <String, >> empMapList =? EmployeeService.findEmpByList (empnoList); 
        System.out.println ( "empMapList:" + empMapList); 
    } 

    @Test 
    pública  vazio testUpdateEmpByMapList () { 
        Map <String, Integer> pramaMap = new HashMap <> (); 
        pramaMap.put ( "EMPNO", 7902 ); 
        pramaMap.put ( "SAL", 4000 ); 
        Mapa <String, Integer> Roteiro = new HashMap <> (); 
        map.put ( "EMPNO", 7934 ); 
        mapa.); 
        Lista <Map <String, Integer >> paramMapList = new ArrayList <> (); 
        paramMapList.add (pramaMap); 
        paramMapList.add (mapa); 
        employeeService.updateEmpByMapList (paramMapList); 
    } 

    @Test 
    pública  vazio testFindEmpByListMap () { 
        Map <String, List <Integer >> pramaListMap = new HashMap <> (); 
        Lista <Integer> empnoList = new ArrayList <> (); 
        empnoList.add ( 7369 ); 
        empnoList.add ( 7499 ); 
        pramaListMap."empnoList" , empnoList); 
        Lista <Map <String, >> empMapList =? EmployeeService.findEmpByListMap (pramaListMap); 
        System.out.println ( "empMapList:" + empMapList); 
    } 

}

 

Acho que você gosta

Origin www.cnblogs.com/alphajuns/p/12601606.html
Recomendado
Clasificación