1. Cree un proyecto web con Maven
Para completar la integración de Spring 4.x y MyBatis3.x sin problemas, primero revise la creación de un proyecto web en el entorno Maven y use myBatis3.x. El primer y segundo contenido se trata principalmente de revisar el contenido pasado.
1.2. Haga clic en "Archivo"-> "Nuevo"-> "Otro"-> Ingrese "Maven" y cree un nuevo "Proyecto Maven", como se muestra en la figura a continuación:
1.2. Verifique "Crear un proyecto simple" para crear un proyecto simple sin usar plantillas. También puede usar la plantilla y seleccionar WebApp, pero no debe verificarla aquí. Como se muestra en la figura a continuación:
1.3. Complete el nombre del paquete y el nombre del proyecto, y seleccione el tipo de embalaje como: Guerra, como se muestra en la figura a continuación:
1.4. Después de crear el proyecto, puede encontrar un error. Seleccione el proyecto, haga clic con el botón derecho en "Propiedades"-> "Facetas del proyecto de capa"-> "Java" y modifique el número de versión a 1.7, y el valor predeterminado es 1.5; Haga clic en "Aceptar" para guardarlo y cerrarlo. Como se muestra en la figura a continuación:
1.5. Repita el paso anterior, retrocede el módulo web dinámico y convierta temporalmente el proyecto en un proyecto no WEB. Haga clic en "Aceptar" para guardarlo y cerrarlo.
1.6. Repita el paso anterior, luego vaya a los atributos de nivel, verifique el "módulo web dinámico" y seleccione la versión a 3.0. Haga clic en el hipervínculo "Configuración adicional disponible ..." en la esquina inferior izquierda.
1.7. Verifique "Generar el descriptor de implementación web.xml" para generar el archivo de descripción de implementación web.xml. Haga clic en "Aceptar" para guardarlo y cerrarlo.
1.8. Copie las dos carpetas "Meta-INF" y "Web-INF" en el directorio WebContent generado al directorio SRC/Main/WebApp.
1.9. Eliminar el directorio de contenido web.
1.10. Después de eliminar, encontrará que se informan los errores de archivo pom.xml del proyecto porque no se puede encontrar el archivo web.xml en la ubicación especificada. Ingrese las propiedades del proyecto, seleccione el elemento de implementación del proyecto "Asamblea de implementación" y elimine los directorios "SRC/Test/Java", "SRC/Test/Resources" y "WebContent", porque estos tres elementos no necesitan ser implementados.
1.11. Haga clic en "Agregar" y seleccione "Carpeta de carpeta" para especificar la carpeta raíz de contenido web para el resultado final de implementación del proyecto.
1.12. Seleccione el directorio SRC/Main/WebApp como directorio de destino, haga clic en "Finalizar" para guardar y cerrar.
1.13. Si el proyecto todavía informa un error en este momento, el error desaparecerá después de modificar el archivo pom.xml y guardarlo.
1.14. Cree un nuevo archivo index.jsp en el directorio SRC/Main/WebApp para pruebas.
1.15. Una vez que se completa la nueva creación, se encuentra un error porque no hay tiempo de ejecución del servidor Javaee. Haga clic derecho en la propiedad en el proyecto y seleccione el elemento "Java Build Rath" y haga clic en "Agregar biblioteca ..." para agregar una referencia.
1.16. Seleccione el elemento de tiempo de ejecución del servidor, haga clic en "Siguiente Siguiente" y luego seleccione "Apache Tomcat V7.0". Es posible que deba elegir de acuerdo con su propio entorno operativo. Si no tiene un servidor, primero debe integrar TOMCAT.
1.17. Escriba el contenido de prueba en el archivo index.jsp.
<%@ page lenguaje = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <! DocType html público "-// w3c // dtd html 4.01 transición // en" " "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" content-type "content =" text/html; charset = utf-8 "> <title> hola mundo! </thead> <body>! <p> java.util.date (). TOLOCALECRING () %> </p> </body> </html>
1.18. Haga clic derecho en el proyecto para ejecutar el proyecto y seleccione "Ejecutar como"-> "Ejecutar en el servidor" y ejecute el proyecto. Los resultados de la ejecución son los siguientes.
2. Use mybatis para completar el acceso a la base de datos MySQL
2.1. Agregar dependencias
Para completar el uso de MyBatis para acceder a la base de datos MySQL, debe agregar algunos paquetes de dependencia, incluidos MyBatis3, Connection Driver, Junit, Log4J2, etc. Puede buscar en la biblioteca de recursos compartidos. La primera dirección del sitio web es: http://mvnrepository.com/. Aquí, la búsqueda de controladores de conexión es un ejemplo. Los resultados después de buscar son muchas versiones de 5.xx y 6.xx, pero no se recomienda usar la versión 6.xx porque MyBatis3 no lo admite.
Seleccionamos 5.1.38 en la versión 5.0 y copiamos las dependencias de Maven al nodo de dependencias de pom.xml en el proyecto
Por supuesto, también puede ir a otro sitio web: http://search.maven.org/. Aquí, puede buscar log4j como ejemplo de la siguiente manera:
Si tiene algunas dependencias, también puede ir directamente al sitio web oficial para buscar, como MyBatis3:
El archivo pom.xml del proyecto es el siguiente:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zhangguo</groupId> <artifactId>Spring061</artifactId> <version>0.0.1</version> <packaging>war</packaging> <dependencies> <dependency> <MoupRid> mysql </groupid> <artifactid> mysql-confonnector-java </artifactid> <verserse> 5.1.38 </versión> </pendency> <pendency> <moupid> org.apache.logging.log4j </groupid> <factid> log4j-core </artifactid> <versions> 2.6.1 </versión <verser <Spendency> <MoupRoD> org.mybatis </groupid> <artifactid> myBatis </arfactid> <versión> 3.4.1 </versión> </pendency> <pendency> <proupid> junit </groupid> <artifactid> junit </artifactid> <versersever> 4.10 </presion> </pendency> </spendencies> </proyecto>
Resultados de cotización:
Si la velocidad de la red es inestable, es probable que el paquete de descarga falle. Puede intentar forzar el proyecto a volver a descargar; Puede usar la herramienta de descarga para copiar el paquete JAR en la biblioteca de recursos local después de descargar.
2.2. Preparar datos
Abra la base de datos MySQL y cree una tabla. Aquí tomamos la tabla de libros de libros como ejemplo.
El script SQL es el siguiente:
/*Navicat MySQL Data Transfersource Server: LocalHostSource Server Versión: 50536Source Host: LocalHost: 3306Source Base de datos: DB2Target Server Tipo: MySQLTARGET SERVER Versión: 50536 File Coding: 65001Date: 2016-07-04 10: 49: 56*/set extranjera_key_key_key_key ----------------------- Charset predeterminado = UTF8;------------------------------- Registros de Booktypes- ----------------------------------------------------------- ----------------------------------------------------------------------------------------------- `booktypes` valores ('6', 'tipo de prueba'); insertar en` booktypes` valores ('7', '91'); insertar en `valores de libros de libros ('8', '92'); insertar en` BookTypes` valores ('9', '93'); Insertar en `` Libros 'valores (' 91 ',' diseño arquitectural '); ('92', 'Diseño industrial'); inserte en valores 'Booktypes` (' 93 ',' Hecho en el barco ');2.3. Crea un java bean
Agregue el tipo de booktype de clase en el paquete com.zhangguo.spring61.entities.
paquete com.zhangguo.spring61.entities;/*** Tipo de libro**/public class BookType {/*** Number*/private int id; / *** Tipo de nombre*/ private String typename; public int getId () {return id; } public void setid (int id) {this.id = id; } public String getTyPeName () {return typename; } public void settypename (string typename) {this.typename = typename; }2.4. Cree un archivo de asignación para instancias y tablas
Esto se hace en forma de interfaz + xml. La interfaz de acceso a datos de Booktype es la siguiente:
paquete com.zhangguo.spring61.mapping; import java.util.list; import com.zhangguo.spring61.entities.booktype;/*** Interfaz de acceso a datos de tipo de libro**/pública booktypedApedAo {/** Obtenga todos los tipos de libros*/Lista pública <BookType> GetAllbookBookTypes ();}El archivo BookTyPeMapper.xml es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> < interfaz-> <mapper namespace = "com.zhangguo.spring61.mapping.booktypetao"> <!-Id debería ser un método en la interfaz. Si no hay alias, se debe usar el nombre completo-> <select id = "getAllbookTypes" resultType = "Booktype"> Seleccionar ID, Typename from BooktyPes </elect> </mapper>
2.5. Crear archivo mybatiscfg.xml
El archivo mybatiscfg.xml se utiliza para configurar el entorno en ejecución de mybatis, y el contenido es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> < Resource = "db.properties"> </ppersies> <!-type alias, todas las clases en com.zhangguo.spring61.entities-> <typealiases> <paquete name = "com.zhangguo.spring61.Entities"/> </typealiases> <deudments predeterminados = "Desarrollo"> <mirenador Id = "Desarrollo"> <TransactionManger " <DataSource type = "Poured"> <Property Name = "Driver" Value = "$ {Driver}" /> <Property Name = "Url" valor = "$ {url}" /> <Property Name = "UserName" value = "$ {username}" /> <Property name = "contraseña" valor = "$ {contraseña} /> < /datASOurce> < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /entorno < /methilment <!-Introduzca el archivo de asignación-> <mapper resource = "com/zhangguo/spring61/mapping/booktypemapper.xml"/> </mappers> </figuration>Debido a que la configuración se basa en el archivo db.properties, este archivo se utiliza para especificar la información de conexión de la base de datos, y el contenido es el siguiente:
controlador = com.mysql.jdbc.driverurl = jdbc: mysql: // localhost: 3306/db2username = rootpassword = root
2.6. Implementar la función de acceso a datos
Para reutilizar más convenientemente mybatis para lograr el acceso a los datos, no es necesario crear con frecuencia los objetos SQLSessionFactory y SQLSession, encapsular una clase de herramientas mybatisutil de la siguiente manera:
paquete com.zhangguo.spring61.dao; import java.io.inputstream; import org.apache.ibatis.session.sqlsession; import org.apache.ibatis.session.sqlsessionFactory; import org.apache.ibatis.session.sqlsession; importación; org.apache.ibatis.session.sqlSessionFactoryBuilder; clase pública abstracta mybatisutil {// gc ignora la fábrica sqlsession factory de sqlsession factory = null; public static sqlSessionFactory getSQLSessionFactory () {if (factory == null) {// Obtener el archivo de configuración de entorno flujo inputStream config = myBatisutil.class.getClassLoader (). getResourCeaseStream ("mybatiscfg.xml"); // Crear una fábrica de fábrica de sesión SQL = new SQLSessionFactoryBuilder (). Build (config); } return fábrica; } // Obtenga la sesión public static sqlSession getSession () {return getSqlSessionFactory (). OpenSession (true); } /*** Obtenga la sesión SQL* @param IsautOcommit si enviar automáticamente, si false, sqlsession.commit (); rollback (); * @return sql session*/ public static sqlsession getSession (boolean isautoCommit) {return getSqlSessionFactory (). OpenSession (IsauToCommit); }}Cree una clase de Booktyadao de clase para implementar la interfaz Booktyadao. Aquí necesitamos implementar la función de acceso a datos a través de MyBatis, y el contenido es el siguiente:
paquete com.zhangguo.spring61.dao; import java.util.list; import org.apache.ibatis.session.sqlsession; import Implementa Booktyadao {@Override Public List <BookType> getAllbookTypes () {// Get Session Object sqlSession Session = myBatisutil.getSession (); Pruebe {// Implemente la interfaz Booktyadao a través de MyBatis, devuelva la instancia Booktyadao Booktyadao = session.getMapper (booktyadao.class); return booktyadao.getAllbookTypes (); } finalmente {session.close (); }}}3. Use Spring 4.x para integrar mybatis3.x
Lo anterior es una explicación detallada del tutorial gráfico de Spring Integration MyBatis (Maven+MySQL) presentado por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!