English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial de introdução ao框架 mybatis

MyBatis é uma excelente estrutura de camada de persistência que suporta consultas SQL comuns, procedimentos armazenados e mapeamento avançado. MyBatis elimina praticamente todo o código JDBC e a configuração manual dos parâmetros, bem como a encapsulação da pesquisa de conjuntos de resultados. MyBatis pode usar XML simples ou anotações para configuração e mapeamento original, mapeando interfaces e POJOs (Plain Old Java Objects, objetos Java comuns) para registros no banco de dados.

1Criar o projeto, importar o jar

   Criar um projeto Java ou Web, importar o pacote jar do MyBatis e suas dependências, além do pacote jar do banco de dados, uso Oracle10g banco de dados

   mybatis-3.2.2.jar driver core

   asm-3.3.1.jar
   cglib-2.2.2.jar
   commons-logging-1.1.1.jar
   javassist-3.17.1-GA.jar
   log4j-1.2.17.jar
   slf4j-api-1.7.5.jar
   slf4j-log4j12-1.7.5.jar
   classes12.jar Oracle10g do jar

2.Crie o arquivo de configuração central de conexão com o banco de dados sqlMapConfig.xml

    Crie um arquivo sqlMapConfig.xml no diretório src

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <!--Configuração de fonte de dados e ambiente-->
  <!--É possível configurar vários ambientes, um usado para teste e outro para produção-->
  <environments default="test">
    <!--Ambiente de teste-->
    <environment id="test">
      <!--Configuração de transação: transação JDBC/MANAGED, delegado ao contêiner de transação-->
      <transactionManager type="JDBC"></transactionManager>
      <!--Fonte de dados: POOLED, poolizado/Não POOLED, não poolizado/Criptografia de senha JNDI, alta segurança-->
      <dataSource type="POOLED">
        <property name="driver" value="oracle.jdbc.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        <property name="username" value="scott"/>
        <property name="password" value="luogg"/>
      </dataSource>
    </environment>
    <!--Ambiente de servidor-->
    <environment id="deploy">
      <transactionManager type="JDBC"></transactionManager>
      <dataSource type="POOLED">
        <property name="driver" value="oracle.jdbc.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        <property name="username" value="scott"/>
        <property name="password" value="luogg"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="com/luogg/mapper/PersonMapper.xml"/>
  </mappers>
</configuration>

3.Crie uma pasta test em src e crie um arquivo TestMybatis.java

package test;
import com.luogg.domain.Person;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
 * Criado por luogg em 2017/2/17.
 */
public class TestMybatis {
  @Test
  public void init() throws IOException {
    /**
     * Testar a conexão com o banco de dados
     * 1.Definir uma variável do tipo String chamada resource, apontando para o arquivo xml de configuração do banco de dados conectado recentemente
     * 2.Crie um fluxo de entrada para ler nosso arquivo de configuração de banco de dados
     * 3.Crie um fluxo de entrada para criar a fábrica.
     * 4.Abra a fábrica após obter a fábrica
     */
    String resource = "sqlMapConfig.xml";
    InputStream is = Resources.getResourceAsStream(resource);
    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
    SqlSession session = factory.openSession();
}

Agora, podemos realizar testes unitários para verificar se a sessão foi criada, verde indica sucesso na criação, em seguida, vamos criar a tabela do banco de dados e escrever a instrução SQL

4.Crie o banco de dados e insira os dados

CREATE TABLE person(
   ID NUMBER(2),
   NAME VARCHAR2(20),
   sex NUMBER(2),
   age NUMBER(3)
)
-- Insira os dados, clique no botão de travamento abaixo e, em seguida, clique em +
SELECT * FROM person FOR UPDATE

5.Crie um pacote com.luogg.domain em src, e crie um arquivo Person.java como bean de entidade

package com.luogg.domain;
/**
 * Criado por luogg em 2017/2/17.
 */
public class Person {
  private String name;
  private int sex;
  private int age;
  private int id;
  @Override
  public String toString() {
    return "Person{" +
        "name='" + name + '\'' +
        ", sex=" + sex +
        ", age=" + age +
        ", id=" + id +
        '}';
  }
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getSex() {
    return sex;
  }
  public void setSex(int sex) {
    this.sex = sex;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
}

6.Criar um arquivo de mapeamento correspondente ao banco de dados, crie um arquivo PersonMapper.xml na pasta src, em com.luogg.mapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--Configuração de espaço de nomes, espaço de nomes+ .id é um identificador exclusivo de SQL-->
<mapper namespace="com.luogg.mapper.PersonMapper">
  <!--Consultar todos os dados, parâmetros id, resultType conjunto de resultados, parameterType parâmetro-->
  <!--Atenção: Se houver SQL a ser preenchido na coleção, por exemplo, consultar todos os dados, retornar um conjunto de resultados de Person, então o parâmetro resultType escreve diretamente o caminho+Tipo de coleção
    Por exemplo: Retornar uma coleção de Person, então preencha o caminho do Bean Person+Person-->
  <select id="find" resultType="com.luogg.domain.Person">
    SELECT * from person
  </select>
</mapper>

7.Fazer um mapeamento no arquivo de configuração principal sqlMapConfig.xml, para que ele reconheça nossos arquivos de configuração que escreveram SQL

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <!--Configuração de fonte de dados e ambiente-->
  <!--É possível configurar vários ambientes, um usado para teste e outro para produção-->
  <environments default="test">
    <!--Ambiente de teste-->
    <environment id="test">
      <!--Configuração de transação: transação JDBC/MANAGED, delegado ao contêiner de transação-->
      <transactionManager type="JDBC"></transactionManager>
      <!--Fonte de dados: POOLED, poolizado/Não POOLED, não poolizado/Criptografia de senha JNDI, alta segurança-->
      <dataSource type="POOLED">
        <property name="driver" value="oracle.jdbc.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        <property name="username" value="scott"/>
        <property name="password" value="luogg"/>
      </dataSource>
    </environment>
    <!--Ambiente de servidor-->
    <environment id="deploy">
      <transactionManager type="JDBC"></transactionManager>
      <dataSource type="POOLED">
        <property name="driver" value="oracle.jdbc.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        <property name="username" value="scott"/>
        <property name="password" value="luogg"/>
      </dataSource>
    </environment>
  </environments>
  <!--arquivo de mapeamento mapper-->
  <mappers>
    <mapper resource="com/luogg/mapper/PersonMapper.xml"/>
  </mappers>
</configuration>

8.Voltar para a classe de teste TestMybatis.java, acessar a sentença sql no arquivo de configuração e retornar o conjunto de resultados

package test;
import com.luogg.domain.Person;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
 * Criado por luogg em 2017/2/17.
 */
public class TestMybatis {
  @Test
  public void init() throws IOException {
    /**
     * Testar a conexão com o banco de dados
     * 1.Definir uma variável do tipo String chamada resource, apontando para o arquivo xml de configuração do banco de dados conectado recentemente
     * 2.Crie um fluxo de entrada para ler nosso arquivo de configuração de banco de dados
     * 3.Crie um fluxo de entrada para criar a fábrica.
     * 4.Abra a fábrica após obter a fábrica
     * 5.Acessar a sentença SQL no arquivo de configuração através da session
     */
    String resource = "sqlMapConfig.xml";
    InputStream is = Resources.getResourceAsStream(resource);
    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
    SqlSession session = factory.openSession();
    //Como acessar a sentença SQL no PersonMapper.xml?&63; Espaço de nome+ .id
    List<Person> list = session.selectList("com.luogg.mapper.PersonMapper.find");
    System.out.println(list.size());
    for(Person p : list){
      System.out.println(p);
    }
  }
}

Resultado da Execução:

O que foi mencionado acima é o tutorial de introdução ao framework mybatis apresentado pelo editor. Espero que ajude a todos. Se você tiver alguma dúvida, por favor, deixe um comentário, o editor responderá a todos o mais rápido possível. Também estou muito grato pelo apoio ao site Tutorial de Grito!

Declaração: O conteúdo deste artigo é extraído da internet, pertencente ao autor original. O conteúdo é contribuído e carregado voluntariamente pelos usuários da internet. Este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por questões legais relacionadas. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar, e forneça provas relevantes. Apenas se confirmado, o site deletará imediatamente o conteúdo suspeito de violação de direitos autorais.)

Você também pode gostar