Algum resumo de Maybatis (3: Adicionar, excluir, modificar e verificar)

Revisar um ponto

Não entendeu essa frase antes:

UserMapper userMapper = sqlSession.getMapper (UserMapper.class);

 

Agora que entendi um pouco, é equivalente à implementação da interface userMapper . Como todo o UserMapper.xml deve ser registrado no Mybatis-config.xml , continue examinando o processo do código-fonte e verifique se alguns dos parâmetros incluem T.Class e sqlsession , e o sqlsession é criado com a leitura Mybatis-config.xml. Portanto, não é particularmente difícil entender como implementar essa interface.

UserMapper.class implementa reflexão através do nome da classe.

Conteúdo específico e outras lições devem continuar envolvidos.

 

 

Adicionar, excluir e modificar a interface e xml

  • Cada xml precisa vincular o nome da interface ao id ,
  • Se o parâmetro ou o tipo de resultado não for int ou nulo, será necessário preencher resultType e parameterType , o tipo precisará escrever o nome completo do pacote
  • O parâmetro na instrução SQL é escrito como # {id}
  • Adicione, exclua, modifique e envie transações , sqlsession.commit ();
    <! - :: Usuário getUserById (int id); -> 
    < selecione id = "getUserById" resultType = "com.ou.pojo.User" > 
        SELECT * FROM mybatis.user WHERE id = # {id} 
    </ selecione >

 

    <! - int :: int insertUser (Usuário usuário); -> 
    < insert id = "insertUser" parameterType = "com.ou.pojo.User" > 
        INSERIR EM mybatis.user (id, nome de usuário, senha) VALUE (# {id}, # {nome de usuário}, # {pwd} ) 
    </ inserir >

 

    <! - int :: int updateUser (Usuário usuário); -> 
    < update id = "updateUser" parameterType = "com.ou.pojo.User" > 
        UPDATE mybatis.user SET nome de usuário = # {nome de usuário}, pwd = # {pwd} WHERE id = # {id} 
    </ update >

 

 

Passando parâmetros pelo Mapa:

Como o usuário Pojo pode ter 100 campos, se você desejar modificar apenas 10 quando modificado, se o tipo de parâmetro ainda for Usuário , o parâmetro ainda precisará ser um novo Usuário (p1 p2 .....)

 

    <! - int: int updateUserByMap (mapa Map <String, Object> mapa); -> 
    < update id = "updateUserByMap" parameterType = "Map" > 
        ATUALIZAÇÃO mybatis.user SET pwd = # {pwd} WHERE id = # {id} 
    </ update >

 

O tipo de parâmetro é Map , a instrução sql é a mesma que a original

    Teste
     público  nulo testUpdateByMap () 
    { 
        SqlSession sqlSession = MybatisUtilis.getsqlsession (); 

        Mapeador de UserMapper = sqlSession.getMapper ( classe UserMapper. ); 
        Map <String, Object> map = new HashMap <String, Object> (); 
        map.put ( "id", 4 ); 
        map.put ( "pwd", "4321" ); 
        mapper.updateUserByMap (mapa); 
        sqlSession.commit (); 

        sqlSession.close (); 
    }

É um pouco diferente quando usado, cria um novo objeto Map <String, Object> e, em seguida, coloca o valor-chave

 

Acho que você gosta

Origin www.cnblogs.com/take-it-easy/p/12718810.html
Recomendado
Clasificación