Descripción general
Hoy en día, la mayoría de las aplicaciones de Internet todavía usan MyBatis para operar bases de datos. Este artículo presenta cómo integrar MyBatis en Spring Boot.
El artículo anterior presenta el método de ejecutar proyectos directamente en Spring Boot con JAR. Si lo necesita, haga clic para verlo.
Crear proyecto de arranque de primavera
En la apertura de arranque de primavera: Crear y ejecutar el artículo, hay una sección que describe cómo usar componentes de arranque de Spring para crear proyectos. Si desea integrar mybatis, solo necesita verificar los dos componentes mysql y mybatis.
Por supuesto, también puede agregar dependencias directamente en el archivo pom.xml sin este método. Elegí agregar dependencias directamente en el archivo pom.xml.
Dependencia> <MoupRoD> org.mybatis.spring.boot </groupid> <artifactid> mybatis-spring-boot-sharter </arifactid> <versión> 1.3.1 </versión> </pendency> <ependency> <proupId> mysql </groupid> <artifactid> mysql-connector-java </artfactil> <versión> 5.1.34 </versión> </pendency> <pendency> <grupid> com.alibaba </groupid> <artifactid> druid </arfactid> <versión> 1.1.7 </versión> </pendency>
La fuente de datos usa el druid de Alibaba. El contenido completo del archivo pom.xml es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </modelversion> <MoupRoupid> com.springboot </groupid> <artifactid> <versión> 0.0.1-snapshot </versewer> <packaging> jar </packaging> <name> Study </name> <Scuidtion> Proyecto de demostración para el arranque de Spring </cription> <Parent> <proupid> org.springframework.boot </groupid> <artifactID> spring-boot-sharter-parent </artifactid> <lansione 1.10.relead> </versión> versión> spring-boot-sharter-parent </artifactid> <lansione 1.5.10.relead> </versión> versión> spring-boot-sharter-parent </artifactid> <ripeers.10.10.relead> </versión> spring-boot-starter-parent </artifactid> <rerse-1s. lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <Spendency> <MoupRoD> org.mybatis.spring.boot </groupid> <artifactid> mybatis-spring-boot-starter </arfactid> <version> 1.3.1 </versión> </pendency> <pendency> <grupo> org.springframwork.boot </grupo> <artifactid> spring-starter-stArtArter-webid </arthid-webid </arthid-webid </arthid-webid </arthid-webid </arthid-webid </arthid-webid </arthid-webid> </pendency> <pendency> <grupid> mysql </groupid> <artifactid> mysql-confonnector-java </arfactid> <version> 5.1.34 </versión> </pendency> <pendency> <proupid> com.alibaba </groupid> <artifactid> druid </artifactid> <lotions Version> 1.1.7 </Versión </Versión </Versión </Versión> <AtFactId> Druid </artifactid> <PROPLAMACIÓN 1.1.1.7 </Versión </Versión </Versión </Versión </Versión> </ArtifactId> <Spendency> <MoupRid> com.alibaba </proupid> <artifactid> fastjson </artifactid> <versión> 1.2.45 </versión> </pendency> <paperency> <grupoid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> <cope> test </scope> </scope> </dependence> <DIARD> <GUNGINS> <MOUMPOMID> org.springframework.boot </groupid> <artifactID> spring-boot-maven-plugin </artifactid> </glugin> </glugins> </build> </jection>
Crear una mesa
Crear tabla `user` (` id` bigint (20) no null auto_incement, `name` varchar (30) no nulo predeterminado '', clave primaria (` id`)) motor = innoDB Auto_Increment = 8 Charset predeterminado = utf8 comment = 'Información de usuario';
Crear una entidad
paquete com.springboot.entity; usuario de clase pública {ID de largo privado; nombre de cadena privada; public Long getId () {return id; } public void setid (ID long) {this.id = id; } public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } @Override public String toString () {return "user {" + "id =" + id + ", name = '" + name +'/'' + '}'; }}Crear archivos de mapeo mybatis y repositorio
UserRepo.java
paquete com.springboot.repo; import com.springboot.entity.user; import org.apache.ibatis.annotations.mapper; import org.springframework.stereotype.component; import java.util.list;@component@mappublic interface userrepo {introducción (usuario user); Usuario selectbyprimarykey (ID largo); int updateByPrimaryKey (usuario de usuario); int DeleteByPrimaryKey (Long ID); Lista <serem> selectAll ();}Usermapper.xml
<? xml versión = "1.0" encoding = "utf-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtdd"> <Mepperspace = "com.springot.sepo.spro.tepo.tepo.tepo.sepo.Sepo.Sepo.SpO > <resultMap id="BaseResultMap" type="com.springboot.entity.User" > <id column="id" property="id" jdbcType="BIGINT" /> <result column="name" property="name" jdbcType="VARCHAR" /> </resultMap> <sql id="Base_Column_List" > id, name </sql> <select id = "selectByPrimaryKey" resultMap = "BaseSultMap" parametertype = "java.lang.long"> select <incluido refid = "base_column_list" /> de user iD = #{id, jdbctype = bigint} </select> <selecti = "selectall" resultMap = "Baseressultmap"> SELECT <incluye SELEC Refid = "base_column_list"/> de usuario </select> <update id = "updateByPrimaryKey" parametertype = "com.springboot.entity.user"> update user <set> <if test = "name! = null"> `name` = #{name, jdbctype = varChare varar}, </if> </set> where id = #{id, jdbctype = bigint} </update> <deletete id = "deletyByPrimaryKey" parametertype = "java.lang.long"> delete del usuario donde id = #{id, jdbctype = bigint} </elelete> <insertar id = "inserción" parámeterTerTerTiM keyproperty = "id"> insertar en el usuario <tripler prefix = "(" sufrejando = ")" sufiXoverRides = ","> Nombre </trim> <Trim Prefix = "Values (" Suffix = ")" SUFFIXOVERRIDES = ","> #{name, jdbctype = varchar} </ trim> </sert> </mepper>Escribir aplicaciones.properties
Agregue lo siguiente al archivo Application.Properties generado por Spring Boot para nosotros:
spring.dataSource.name = spring_boot_study spring.datasource.url = jdbc: mysql: // localhost: 3306/test spring.datasource.username = root spring.datasource.password = xxxxxx spring.datasource.driver-classhebc.mysql.jden spring.datasource.type = com.alibaba.druid.pool.druiddatasource mybatis.mapper-locations = classpath: mapper/*. xml mybatis.type-aliases-package = com.springboot.itedad
Prueba unitaria
paquete com.springboot; import com.springboot.entity.user; import com.springboot.repo.userropo; import org.junit.test; import org.junit.runner.runwith; import org.springframework.beans.factory.annotation.autowired; importar; importación; org.springframework.boot.test.context.springboottest; import org.springframework.test.context.junit4.springrunner; import java.util.list; @runwith (springrunner.class) @springboottpublic de clase usertest {@autowired usserRepo userero; @Test public void testInsert () {user user = new user (); user.setName ("test2"); userRepo.insert (usuario); } @Test public void topupdate () {user user = new user (); user.setID (6l); user.setName ("test3"); userRepo.UpdateByPrimaryKey (usuario); } @Test public void testDelete () {userRepo.DeleteByPrimaryKey (6l); } @Test public void testSelectByPrimaryKey () {user user = userRepo.selectbyPrimaryKey (7l); System.out.println (usuario); } @Test public void testSelectall () {list <serer> userList = userRepo.selectall (); System.out.println (UserList); }}Resumir
El anterior es el código de ejemplo (versión simplificada) de Spring Boot Integration MyBatis presentada a usted. 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!