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

Tutoriales de aprendizaje básico del framework mybatis

MyBatis es una excelente capa de persistencia que admite consultas SQL comunes, procedimientos almacenados y mapeos avanzados. MyBatis elimina prácticamente todo el código JDBC y la configuración manual de parámetros, así como el encapsulamiento de la búsqueda de conjuntos de resultados. MyBatis puede usar XML simple o anotaciones para la configuración y el mapeo original, mapeando las interfaces y los POJO (Plain Old Java Objects, objetos Java comunes) a los registros de la base de datos.

1Crear el proyecto, importar los paquetes jar

   Crear un proyecto de Java o un proyecto web, luego importar el paquete jar de MyBatis y las dependencias y el paquete jar de la base de datos, utilizo Oracle10g base de datos

   mybatis-3.2.2.jar controlador nuclear

   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 Oracle10paquete g

2.Crear el archivo de configuración central de conexión a la base de datos sqlMapConfig.xml

    En el directorio src, crear el archivo sqlMapConfig.xml

<?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>
  <!--configuración de fuente de datos, entorno-->
  <!--se pueden configurar varios entornos, uno para pruebas y otro para lanzamiento-->
  <environments default="test">
    <!--entorno de prueba-->
    <environment id="test">
      <!--configuración de transacción: transacción JDBC/MANAGED delegado a la transacción del contenedor-->
      <transactionManager type="JDBC"></transactionManager>
      <!--fuente de datos: POOLED poolizado/NO POOLED no poolizado/encriptación de contraseñas JNDI, alta seguridad-->
      <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>
    <!--entorno 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.Crear la carpeta test en src, y dentro de la carpeta crear el archivo 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;
/**
 * Creado por luogg el 2017/2/17.
 */
public class TestMybatis {
  @Test
  public void init() throws IOException {
    /**
     * Probar la conexión a la base de datos
     * 1.Definir una variable de tipo String llamada resource, que apunta al archivo xml de conexión a la base de datos configurado recientemente
     * 2.Crear un flujo de entrada para leer nuestro archivo de configuración de base de datos
     * 3.Crear una entrada de datos para crear la fábrica.
     * 4.Abrir fábrica después de tener la fábrica
     */
    String resource = "sqlMapConfig.xml";
    InputStream is = Resources.getResourceAsStream(resource);
    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
    SqlSession session = factory.openSession();
}

En este momento, podemos realizar pruebas unitarias para ver si se ha creado la sesión, el verde indica que se ha creado con éxito, luego creamos la tabla de base de datos y escribimos la sentencia SQL

4.Crear la base de datos y escribir datos

CREATE TABLE person(
   ID NUMBER(2),
   NAME VARCHAR2(20),
   sex NUMBER(2),
   age NUMBER(3)
)
-- Escribir datos, hacer clic en el botón de candado inferior y luego hacer clic en +
SELECT * FROM person FOR UPDATE

5.En la carpeta src, crear el paquete com.luogg.domain, y dentro del paquete crear el archivo Java Person.java como bean de entidad

package com.luogg.domain;
/**
 * Creado por luogg el 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.crear un archivo de mapeo correspondiente a la base de datos, crear un archivo PersonMapper.xml en el paquete com.luogg.mapper de src

<?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">
<!--configuración de espacio de nombres, espacio de nombres+ .id es un identificador único de sentencia SQL-->
<mapper namespace="com.luogg.mapper.PersonMapper">
  <!--consultar todos los datos, parámetros con id, resultType conjunto de resultados, parameterType parámetro-->
  <!--nota: si hay que rellenar una colección en la sentencia SQL, como consultar todos los datos, devolver un conjunto de resultados de Person, entonces el parámetro resultType se escribe directamente como la ruta+tipo de colección
    por ejemplo: devolver una colección de Person, entonces se rellena la ruta del Bean de Person+Person-->
  <select id="find" resultType="com.luogg.domain.Person">
    SELECT * from person
  </select>
</mapper>

7.realizar un mapeo en el archivo de configuración principal sqlMapConfig.xml para que reconozca nuestros archivos de configuración con sentencias 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>
  <!--configuración de fuente de datos, entorno-->
  <!--se pueden configurar varios entornos, uno para pruebas y otro para lanzamiento-->
  <environments default="test">
    <!--entorno de prueba-->
    <environment id="test">
      <!--configuración de transacción: transacción JDBC/MANAGED delegado a la transacción del contenedor-->
      <transactionManager type="JDBC"></transactionManager>
      <!--fuente de datos: POOLED poolizado/NO POOLED no poolizado/encriptación de contraseñas JNDI, alta seguridad-->
      <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>
    <!--entorno 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>
  <!--archivo de mapeo mapper-->
  <mappers>
    <mapper resource="com/luogg/mapper/PersonMapper.xml"/>
  </mappers>
</configuration>

8.Volver a la clase de prueba TestMybatis.java, acceder a la sentencia sql en el archivo de configuración y devolver el 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;
/**
 * Creado por luogg el 2017/2/17.
 */
public class TestMybatis {
  @Test
  public void init() throws IOException {
    /**
     * Probar la conexión a la base de datos
     * 1.Definir una variable de tipo String llamada resource, que apunta al archivo xml de conexión a la base de datos configurado recientemente
     * 2.Crear un flujo de entrada para leer nuestro archivo de configuración de base de datos
     * 3.Crear una entrada de datos para crear la fábrica.
     * 4.Abrir fábrica después de tener la fábrica
     * 5.Acceder a las sentencias SQL en el archivo de configuración a través de session
     */
    String resource = "sqlMapConfig.xml";
    InputStream is = Resources.getResourceAsStream(resource);
    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
    SqlSession session = factory.openSession();
    //¿Cómo puedo acceder a la sentencia SQL en PersonMapper.xml?&63; Espacio de nombres+ .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 de ejecución:

Lo mencionado anteriormente es el tutorial de introducción al aprendizaje del marco mybatis que el editor le ha presentado a todos, espero que le sea útil. Si tiene alguna pregunta, déjeme un mensaje y el editor responderá a tiempo. También agradezco mucho el apoyo de todos a la página web de呐喊教程!

Declaración: El contenido de este artículo se obtiene de la red, pertenece al autor original, el contenido se contribuye y sube por los usuarios de Internet de manera autónoma, este sitio no posee los derechos de propiedad, no se ha procesado editorialmente por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar, y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará