Ochenta y cinco, archivo de configuración de MyBatis

Directorio de artículos

archivo de configuración principal

etiqueta de fuente de datos

tipo de fuente de datos

configuración de la fuente de datos

asuntos

Usar el archivo de configuración de propiedades de la base de datos

tipoAlias

mapeadores


archivo de configuración principal

mybatis.xml utilizado en el proyecto anterior es el archivo de configuración principal.

Características principales del perfil:

1, archivo xml, necesita usar el archivo de restricción en el encabezado

<?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">

2. El elemento raíz, <configuration>

3. Los principales contenidos incluyen:

  • definir alias
  • fuente de datos
  • archivo del asignador

etiqueta de fuente de datos

Para acceder a la base de datos en Mybatis, la tecnología de agrupación de conexiones está disponible, pero utiliza su propia tecnología de agrupación de conexiones. En el archivo de configuración mybatis.xml de Mybatis, la configuración del pool de conexiones en Mybatis se realiza a través de <dataSource type="pooled">.

tipo de fuente de datos

La figura anterior muestra que Mybatis divide las fuentes de datos en tres categorías:

  1. Origen de datos SIN COMPARTIR que no utiliza la agrupación de conexiones
  2. Fuente de datos agrupados usando grupo de conexiones
  3. Fuentes de datos JNDI implementadas usando JNDI

Entre ellos, las fuentes de datos UNPOOLED y POOLED implementan la interfaz javax.sq.DataSource, y JNDI es diferente de las dos implementaciones anteriores.

configuración de la fuente de datos

En el archivo de configuración principal MyBatis.xml, configure el dataSource:

<dataSource type="POOLED">
 <!--连接数据库的四个要素--> 
 <property name="driver" value="com.mysql.jdbc.Driver"/>
 <property name="url" 
value="jdbc:mysql://localhost:3306/ssm?charset=utf-8"/>
 <property name="username" value="root"/>
 <property name="password" value="123456"/>
</dataSource> 

Cuando MyBatis se inicializa, crea el tipo de fuente de datos DataSource correspondiente según el atributo de tipo, a saber:

  • type=”POOLED”: MyBatis creará una instancia de PooledDataSource
  • type=”UNPOOLED” : MyBatis creará una instancia de UnpooledDataSource
  • type=”JNDI”: MyBatis buscará la instancia de DataSource del servicio JNDI, y luego volverá a usar

asuntos

(1) De forma predeterminada, las transacciones deben enviarse manualmente

El marco Mybatis es una encapsulación de JDBC, por lo que el método de control de transacciones del propio marco Mybatis también utiliza commit() y rollback() del objeto Connection de JDBC.

El método setAutoCommit() del objeto Connection establece el método de confirmación de la transacción. envío automático y envío manual,

<transactionManager type="JDBC"/>

Esta etiqueta se utiliza para especificar el gestor de transacciones utilizado por MyBatis. MyBatis admite dos tipos de gestores de transacciones: JDBC y MANAGED.

JDBC: mecanismo de gestión de transacciones mediante JDBC. Es decir, se envía mediante el método commit() de Connection y se retrotrae mediante el método rollback(). Pero por defecto, MyBatis desactiva la función de envío automático y la cambia a envío manual. Es decir, el programa necesita confirmar o revertir explícitamente la transacción. Se puede ver en la información de salida del registro.

 ADMINISTRADO: el ciclo de vida completo de una transacción es administrado por el contenedor (por ejemplo, el contenedor Spring).

(2) Confirmar transacciones automáticamente

Para establecer el método de envío automático, la openSession() de fábrica se divide en parámetros con y sin parámetros.

 Si el parámetro es verdadero, el método getSqlSession() de MyBatisUtil se puede modificar mediante el envío automático.

session = factory.openSession(true);
再执行 insert 操作,无需执行 session.commit(),事务是自动提交的

Usar el archivo de configuración de propiedades de la base de datos

Para facilitar la gestión de las conexiones de la base de datos, los cuatro elementos de los datos de conexión de la base de datos generalmente se almacenan en un archivo de atributos especial. El archivo de configuración principal de MyBatis necesita leer estos datos de este archivo de propiedades. paso:

(1) En la ruta de classpath, cree un archivo de propiedades

Cree un archivo jdbc.properties en el directorio de recursos con un nombre de archivo personalizado:

 (2) Utilice la etiqueta de propiedades

Modifique el archivo de configuración principal y agregue el comienzo del archivo:

 (3) Use la tecla para especificar el valor

<dataSource type="POOLED">
 <!--使用 properties 文件: 语法 ${key}--> 
 <property name="driver" value="${jdbc.driver}"/>
 <property name="url" value="${jdbc.url}"/>
 <property name="username" value="${jdbc.username}"/>
 <property name="password" value="${jdbc.password}"/>
</dataSource>

tipoAlias

Mybatis admite alias predeterminados, también podemos usar alias personalizados para desarrollar, principalmente utilizados en <select resultType="alias"> 

El archivo de configuración principal mybatis.xml define los alias:

<typeAliases>
 <!-- 
 定义单个类型的别名 
 type:类型的全限定名称 
 alias:自定义别名 
 --> 
 <typeAlias type="com.bjpowernode.domain.Student" alias="mystudent"/>
 <!-- 
 批量定义别名,扫描整个包下的类,别名为类名(首字母大写或小写都
可以) 
 name:包名 
 --> 
 <package name="com.bjpowernode.domain"/>
 <package name="...其他包"/>
</typeAliases>

archivo mapper.xml, usando alias para los tipos:

<select id="selectStudents" resultType="mystudent"> 
 select id,name,email,age from student
</select> 

mapeadores

(1) <recurso asignador=" " />

Encuentre archivos de classpath usando recursos relacionados con classpath

P.ej:

<mapper resource="com/bjpowernode/dao/StudentDao.xml" /> 

(2) <nombre del paquete=""/>

Todas las interfaces de Dao bajo el paquete especificado

P.ej:

<package name="com.bjpowernode.dao"/>

Nota: Este método requiere que el nombre de la interfaz Dao y el archivo de mapeo del mapeador tengan el mismo nombre y estén en el mismo directorio.


Supongo que te gusta

Origin blog.csdn.net/m0_54925305/article/details/123693538
Recomendado
Clasificación