Aperçu
De nos jours, la plupart des applications Internet utilisent toujours MyBatis pour faire fonctionner des bases de données. Cet article présente comment intégrer MyBatis dans Spring Boot.
L'article précédent présente la méthode d'exécution directe des projets dans Spring Boot avec JAR. Si vous en avez besoin, cliquez pour le voir.
Créer un projet Spring Boot
Dans l'ouverture de Spring Boot - Créer et exécuter l'article, il existe une section qui décrit comment utiliser les composants de démarrage Spring pour créer des projets. Si vous souhaitez intégrer MyBatis, il vous suffit de vérifier les deux composants MySQL et MyBatis.
Bien sûr, vous pouvez également ajouter des dépendances directement dans le fichier pom.xml sans cette méthode. J'ai choisi d'ajouter des dépendances directement dans le fichier pom.xml.
Dependency> <ProupId> org.mybatis.spring.boot </prômId> <Artifactid> Mybatis-Spring-boot-starter </ artifactId> <DERSE> 1.3.1 </ version> </ Dependency> <Dedency> <ProupId> MySQL </prounid> <Artifactid> Mysql-Connector-Java </roulid> <version> 5.1.34 </ version> </ dépendance> <dependency> <proupId> com.alibaba </prôdId> <ArtefactId> Druid </etefactId> <DERNÉE> 1.1.7 </ version> </ Dependency>
La source de données utilise le druide d'Alibaba. Le contenu complet du fichier pom.xml est le suivant:
<? xml version = "1.0" Encoding = "utf-8"?> <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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </ Modelversion> </prenid> comersboot </prouverId> <version> 0.0.1-snapshot </ version> <packaging> jar </packaging> <name> Study </name> <description> Project de démonstration pour Spring Boot </ Description> <parent> <proupId> org.springframework.boot </prouprid> <Artifactid> Spring-boot-starter-parent </ptetifactid> <version> 1.5.10.release </ version> <! - Recherche parent du référentiel -> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reportting.outputending> utf-8 </project.report.outputerSice> <java.version> 1.8 </java.version> <dependency> <proupId> org.mybatis.spring.boot </prômId> <Artifactid> Mybatis-Spring-Boot-starter </ artifactId> <DERVIRADE> 1.3.1 </DERNIFRIENT> </DENSEDENCY> <Dependance> <proupId> org.springframework.boot </roulid> <ArtifActid> Spring-Boot-starterweb </prountid> <artifactid> </Dependency> <Dedency> <GroupId> MySQL </rom grouped> <Artifactid> MySQL-Connector-Java </ ArtifactId> <DersonD> 5.1.34 </DERVERSE> </DENDENCENCE> <Dendency> <proupId> com.alibaba </proupId> <e ArtifiCtid> Druid </ Artifactid> <DuarnaD> <version> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.45</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <flugins> <proupId> org.springframework.boot </prôdId> <ArtifactId> printemps-boot-maven-Plugin </ artifactId> </gingin> </glugins> </duild> </randing>
Créer une table
Créer une table `User` (` id` bigInt (20) pas null auto_increment, `name` varchar (30) pas null default '', clé primaire (` id`)) moteur = innodb auto_increment = 8 charet par défaut = utf8 comment = 'informations utilisateur';
Créer une entité
package com.springboot.entity; public class user {private long id; nom de chaîne privé; public long getID () {return id; } public void setid (long id) {this.id = id; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } @Override public String toString () {return "User {" + "id =" + id + ", name = '" + name +' / '' + '}'; }}Créer des fichiers et un repo de mappage MyBatis
UserRepo.java
package com.springboot.repo; import com.springboot.entity.user; import org.apache.ibatis.annotations.mapper; import org.springframework.sterreotype.Component; import java.util.list; @ component @ maakerpublic interface userRepo {int inssert (user user); Utilisateur selectByPrimaryKey (Long ID); int updateByPrimaryKey (utilisateur utilisateur); int DeleteByPrimaryKey (Long ID); List <ser user> selectall ();}UserMapper.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Mappeur public "- // Mybatis.org//dtd Mappeur 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace = "com.springboot.repo. > <resultMap id = "BasereSultMap" type = "com.springboot.entity.user"> <id Column = "id" propriété = "id" jdbcType = "bigint" /> <résultat Column = "name" propriété = "name" jdbcType = "Varchar" /> </ ResultMap> <sql id = "Base_column_ <select id = "selectByPrimaryKey" resultMap = "BasereSultMap" ParameterType = "java.lang.long"> SELECT <inclure refid = "base_column_list" /> depuis l'utilisateur où id = # {id, jdbctype = bigInt} </lect> <select id = "selectall" resultMap = "BasereSultMap"> refid = "base_column_list" /> à partir de l'utilisateur </lect> <update id = "updatebyprimarykey" ParameterType = "com.springboot.entity.user"> Update User <Set> <if test = "name! = null"> `name` = # {name, jdbcType = varchar}, </If> </ set> where id = id = # {id, jdbcType = bigInt} </ update> <delete id = "DeleteByprimaryKey" ParameterType = "java.lang.long"> delete de l'utilisateur où id = # {id, jdbcType = BigInt} </prelete> <inserty.user.user "paramètre" com.springboot.entrey.user "paramètre" com.springboot.entrey.user "paramètre" com.springboot.entrey.user "paramètre" com. com.springboot. useGeneratedKeys = "true" keyproperty = "id"> insérer dans l'utilisateur <trim prefix = "(" suffix = ")" suffixoverides = ","> name </mim> <trim prefix = "valeurs (" suffix = ")" suffixoverrides = ","> # {nom, jdbcType = varchar} </prim> </sersert>Écrire l'application.properties
Ajoutez ce qui suit dans le fichier application.properties généré par Spring Boot pour nous:
printemps.datasource.name = printemps_boot_study printemps.datasource.url = jdbc: mysql: // localhost: 3306 / test printemps.datasource.username = root printemps.datasource.password = xxxxx spring.datasource.driver-class-same = com.mysql.jdbc.ddriver-cllass-same = com.mysql.jdbc.ddriverce-cllass-same = com.mysql.jdbc.ddriverced-class-same = com.mysql.jdb. printemps.datasource.type = com.alibaba.druid.pool.druiddatasource mybatis.mapper-Locations = Classpath: Mapper / *. Xml mybatis.type-aliases-package = com.springboot.entity
Tests unitaires
package com.springboot; import com.springboot.entity.user; import com.springboot.repo.userrepo; import org.junit.test; import org.junit.runner.runwith; import org.springframework.beans.factory.annotation.autowired; import; org.springframework.boot.test.context.springboottest; import org.springframework.test.context.junit4.springrunner; importer java.util.list; @runwith (springrunner.class) @springboottestpublic class usertest {@Autowired privily userrepo userrepo; @Test public void testiNsert () {user user = new user (); user.setName ("test2"); userRepo.insert (utilisateur); } @Test public void TESTUPDATE () {User user = new User (); user.setid (6L); user.setName ("test3"); userRepo.updateByPrimaryKey (utilisateur); } @Test public void testDelete () {userRepo.deleteByprimaryKey (6l); } @Test public void testSelectByprimaryKey () {user user = userRepo.SelectByprimaryKey (7l); System.out.println (utilisateur); } @Test public void TestSelectall () {list <utilisateur> userList = userRepo.Selectall (); System.out.println (UserList); }}Résumer
Ce qui précède est l'exemple de code (version simplifiée) de l'intégration de démarrage Spring MyBatis qui vous a été introduit. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!