概要
現在、ほとんどのインターネットアプリケーションは、MyBatisを使用してデータベースを操作しています。この記事では、Spring BootでMyBatisを統合する方法を紹介します。
前の記事では、JARを使用してSpring Bootでプロジェクトを直接実行する方法を紹介します。必要な場合は、クリックして表示します。
スプリングブートプロジェクトを作成します
Spring Boot Opening -Create and Run Articleには、Spring Bootコンポーネントを使用してプロジェクトを作成する方法を説明するセクションがあります。 MyBatisを統合したい場合は、2つのコンポーネントMySQLとMyBatisを確認するだけです。
もちろん、このメソッドなしでは、pom.xmlファイルに依存関係を直接追加することもできます。 pom.xmlファイルに依存関係を直接追加することを選択しました。
依存関係> <groupid> org.mybatis.spring.boot </groupid> <artifactid> mybatis-spring-boot-starter </artifactid> <バージョン> <バージョン> </バージョン> </依存関係> <依存> <groupid> mysql </groupid> <artifactid> mysql-connector-java </artifactid> <バージョン> 5.1.34 </version> </dependency> <dependency> <groupid> com.alibaba </groupid> <artifactid> druid </artifactid> <バージョン> 1.1.7 </version> </dependency>
データソースは、Alibabaのドルイドを使用します。完全なpom.xmlファイルコンテンツは次のとおりです。
<?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 <http://www.w3.org/2001 xsi:schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.0.sdsd"> <modelversion> 4.0.0 </modelversion> <バージョン> 0.0.1-snapshot </version> <packaging> jar </packaging> <name> study </name> <description> spring boot </description> <parent> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid>リポジトリからのlookup parent-> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <Dependency> groupid> org.mybatis.spring.boot </groupid> <artifactid> mybatis-spring-boot-starter </artifactid> <バージョン> 1.3.1 </version> </dependency> <依存関係> <groupid> org.springframework.boot </dependency> <dependency> groupid> mysql </groupid> <artifactid> mysql-connector-java </artifactid> <バージョン> 5.1.34 </version> </dependency> <dependency> com.alibaba </groupid> <artifactid> <GroupId> com.alibaba </groupid> <artifactid> fastjson </artifactid> <version> 1.2.45 </version> </dependency> <deplency> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-startertest </deponecid> scope> </scope> </scope> </scope> scope> scope> <build> <Plugins> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> </plugin> </plugins> </build> </project>
テーブルを作成します
テーブル「ユーザー」( `id` bigint(20)not null auto_increment、` name` varchar(30)not null default ''、primary key( `did`))エンジン= innodb auto_increment = 8デフォルトcharset = utf8コメント= 'ユーザー情報';
エンティティを作成します
パッケージcom.springboot.entity; public class user {private long id;プライベート文字列名; public long getId(){return id; } public void setid(long id){this.id = id; } public string getname(){return name; } public void setName(string name){this.name = name; } @Override public String toString(){return "user {" + "id =" + id + "、name = '" + name +'/'' + '}'; }}MyBatisマッピングファイルとレポを作成します
USERREPO.JAVA
パッケージcom.springboot.repo; Import com.springboot.entity.user; Import org.apache.ibatis.annotations.mapper; Import org.springframework.stereotype.component; import java.util.list;@component@mapperpublic interpo {int intersint(user instecr);ユーザーSelectByPrimaryKey(LONG ID); int updateByPrimaryKey(ユーザーユーザー); int deleteByPrimaryKey(LONG ID);リスト<ユーザー> selectal();}usermapper.xml
<?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" <resultmap id = "baseeresultmap" type = "com.springboot.entity.user"> <id column = "id" property = "id" jdbctype = "bigint" /> <result column = "name =" name "name" name "jdbctype =" varchar " />> < /resultmap> id = "selectbyprimarykey" resultmap = "baseeresultmap" parametertype = "java.lang.long"> select <incread refid = "base_column_list" />ユーザーからid =#{id、jdbctype = bigint} < /select id = " refid = "base_column_list"/> from user </select> <update id = "umpdaybyprimarykey" parametertype = "com.springboot.entity.user"> update user <set> <if test = "null"> `name` =#{name、jdbctype = varchar} #{id、jdbctype = bigint} </update> <delete id = "deletebyprimarykey" parametertype = "java.long.long.long.long"> delete user from user where id =#{id、jdbctype = bigint} </delete> <id = "parametype =" com.springboot. useGeneratedKeys = "true" keyproperty = "id"> inserting into user <trim freix = "(" suffix = ")" suffixoverrides = "、"> name </trim> <trim> <trim> <trim> <suffixoverrides = "、">#{name = jdbctype = varcharApplication.Propertiesを書き込みます
以下をapplication.propertiesファイルをSpring Bootによって生成します。
spring.datasource.name = spring_boot_study spring.datasource.url = jdbc:mysql:// localhost:3306/test spring.datasource.username = root spring.datasource.password = xxxxxx spring.datasource. spring.datasource.type = com.alibaba.druid.pool.druiddatasource mybatis.mapper-locations = classpath:mapper/*。xml mybatis.type-aliase-package = com.springboot.entity
単体テスト
パッケージ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; springframework.boot.test.context.springboottest; Import org.springframework.test.context.junit4.springrunner; intempert java.util.list; @runwith(springrunner.class)@springboottestestest public useRepowired us useRepowired us user @test public void testinsert(){user user = new user(); user.setname( "test2"); userrepo.insert(user); } @test public void testupdate(){user user = new user(); user.setId(6L); user.setname( "test3"); userrepo.updatebyprimarykey(user); } @test public void testdelete(){userrepo.deletebyprimarykey(6l); } @test public void testselectbyprimarykey(){user user = userrepo.serectbyprimarykey(7l); System.out.println(user); } @test public void testselectall(){list <user> userlist = userrepo.selectall(); System.out.println(userlist); }}要約します
上記は、MyBatisが紹介したSpring Boot Integrationのサンプルコード(簡素化されたバージョン)です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!