Обзор
В настоящее время большинство интернет -приложений по -прежнему используют Mybatis для эксплуатации баз данных. Эта статья представляет, как интегрировать Mybatis в Spring Boot.
В предыдущей статье представлен метод непосредственного запуска проектов в Spring Boot с JAR. Если вам это нужно, нажмите, чтобы просмотреть его.
Создать Spring Boot Project
В открытии Spring Boot - создать и запустить статью, есть раздел, в котором описывается, как использовать компоненты Spring Boot для создания проектов. Если вы хотите интегрировать Mybatis, вам нужно только проверить два компонента MySQL и Mybatis.
Конечно, вы также можете добавить зависимости непосредственно в файл pom.xml без этого метода. Я решил добавить зависимости непосредственно в файл pom.xml.
Зависимость> <groupid> org.mybatis.spring.boot </groupid> <artifactid> mybatis-spring-boot-starter </artifactid> <seriate> 1.3.1 </version> </depertive> <dependency> <groupid> mysql </Groupid> <ratifactid> mysql-connector-jovava </artifactid> <strifactid> mysql-connector-javava </artifactid> <strifactid> mysql-connector-j <sersion> 5.1.34 </version> </veysEndency> <Dependency> <groupid> com.alibaba </GroupId> <artifactid> Druid </artifactid> <serse> 1.1.7 </version> </depertive>
Источник данных использует друид 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" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <dolidayversion> 4.0.0 </modelversion> <groupid> com.springboot </artifactId> </artifActId> </artifactid> <serse> 0.0.1-snapshot </version> <Cackaging> jar </packaging> <mame> Исследование </name> <Описание> Демо-проект для Spring Boot </description> <parent> <groupd> org.springframework.boot </groupid> <ratifactid> spring-boot-starter-parent </artifactid> <serse> 1.5.10.Release> repring-starter </artifactid> <serse> 1. Поиск родителя из репозитория-> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.Report.OutputEncoding> utf-8 </project.Reporting.OutputEncoding> <java.version> 1.8 <depervice> <groupid> org.mybatis.spring.boot </groupid> <ratifactid> mybatis-spring-boot-starter </artifactid> <sersion> 1.3.1 </version> </artepact> <dependency> <groupid> org.springframework.boot </GroupId> <ArtifactId> <group-boot-startr </depervice> <dependency> <groupid> mysql </groupid> <artifactid> mysql-connector-java </artifactid> <sersive> 5.1.34 </version> </dependency> <depertive> <groupid> com.alibaba </Ground> <perfactid> ruid </artifactid> <sers> 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1. <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> <blicins> <groupid> org.springframework.boot </GroupId> <ArtifactId> Spring-boot-maven-plugin </artifactid> </plugin> </plugins> </build> </project>
Создать таблицу
Создать таблицу `user` (` yid` bigint (20) не null auto_increment, `name` varchar (30) не null default '', первичный ключ (` id`)) engine = innodb auto_increment = 8 default charset = utf8 comment = 'Информация пользователя';
Создать сущность
пакет com.springboot.entity; пользователь открытого класса {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.stereotyle.component; импорт java.util.list;@component@mapperpublic interface userrepo {int insert (пользователь пользователя); Пользователь selectbyprimarykey (long id); int updatebyprimarykey (пользователь пользователя); int deletebyprimarykey (Long Id); Список <user> selectall ();}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"> <mapperspace = "com.springbringbyspospospo. <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_ lize" /> < /resultmap> <sql id = " id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > select <include refid="Base_Column_List" /> from user where id = #{id,jdbcType=BIGINT} </select> <select id="selectAll" resultMap="BaseResultMap"> select <include RefID = "base_column_list"/> от пользователя </select> <extural id = "updatebyprimarykey" parametertype = "com.springboot.entity.user"> обновление пользователя <set> <if test = "name! = null"> `name` = #{name, jdbctepe = varhch #{id, jdbctype = bigint} </update> <delete id = "deleteByprimarykey" parameterType = "java.lang.long"> удалить из пользователя, где id = #{id, jdbctype = bigint} </delete> <INSERT ID = "inSert" ParameterType = "com.springboot. Использовать generatedKeys = "true" keyProperty = "id"> вставьте в пользователь <trim prefix = "(" Суффикс = ")" Суфаксверрид = ","> name </trim> <trim prefix = "values (" Суффикс = ")" Суфаксверрид = ","> #name, jdbctype = varch} </trim> </mapper> </mapper> </mapper> </mapper> </mapНапишите Application.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 = xxxxx spring.datasource.driver-name = com.mysql.jdb. spring.datasource.type = com.alibaba.druid.pool.druiddatasource mybatis.mapper-locations = classpath: mapper/*. xml mybatis.type-aliases-package = com.springboot.entity
ЕДИНЦИОННЫЕ Тестирование
пакет com.springboot; import com.springboot.entity.user; import com.springboot.repo.userrepo; import org.junit.test; импорт org.junit.runner.runwith; импорт org.springframework.beans.factory.annation.autowith; org.springframework.boot.test.context.springboottest; import org.springframework.test.context.junit4.springrunner; импортировать java.util.list; @runwith (springrunner.class) @springboottestpublic class usertest (@autowried userrepopopopopopopopopopopopopopopopopopopopopoPo @Test public void testinsert () {user user = new user (); user.setName ("test2"); userRepo.insert (пользователь); } @Test public void testupDate () {user user = new user (); user.setid (6l); user.setname ("test3"); userRepo.updatebyprimarykey (пользователь); } @Test public void testDelete () {userRepo.deletebyprimarykey (6l); } @Test public void testselectbyprimarykey () {user user = userRepo.selectbyprimarykey (7L); System.out.println (пользователь); } @Test public void testselectall () {list <user> userlist = userRepo.selectall (); System.out.println (пользовательский список); }}Суммировать
Выше приведен пример кода (упрощенная версия) интеграции Spring Boot Mybatis, представленная вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!