Предисловие
Сегодня давайте узнаем о Springboot, интегрирующей Mybatis. Как правило, есть два способа интеграции Mybatis. Один основан на аннотации, а другой основан на конфигурации XML. Сегодня давайте сначала узнаем об интеграции Mybatis на основе аннотаций. Я не скажу многое ниже, давайте посмотрим на подробное введение
Поскольку это Mybatis, это должно быть связано с Mybatis, и я использую MySQL, поэтому он также должен представить связанную с MySQL.
<!-https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter-> <dehiped> <groupid> org.mybatis.spring.boot </groupid> <artifactid> mybatis-spring-strater </artifactid> <sartifactid> mybatis-spring-boot-starter </artifactid> </artifactid> mybatis-spring-boot-starter <//artifactid> </artifactid> mybatis-spring-boot-starter <//artifactid>. </depervice> <!-https://mvnrepository.com/artifact/mysql/mysql-connector-java-> <dependency> <groupid> mysql </GroupId> <ratifactid> mysql-connector-java </artifactid> <sersiod> 8.0.11 </версия> </зависимость> зависимость> java </artifactid> <version> 8.0.11 </версия>
Здесь создана пользовательская модель, которая удобна для сравнения с таблицей баз данных. Здесь в MySQL создается база данных с именем MyBatis, и создается таблица пользователей. В то же время создается пользовательский класс перечисления.
Создать таблицу `user` (` `id` int (11) не null auto_increment,` name` varchar (20) по умолчанию Null, `age` int (11) нуль по умолчанию,` sex` varchar (20) default null, первичный ключ (`id`)) Engine = innodb auto_increment = 9 defaul charset = utf8;
пакет com.example.model; import java.io.serializable; Пользователь открытого класса реализует сериализуемые {@Override public String toString () {// todo автоматически генерируемый метод return "user =" + id + ", name =" + name + ", age =" + age + "]"; } public int getId () {return id; } public void setId (int id) {id = id; } public String getName () {return name; } public void setName (String name) {name = name; } public int getage () {return Age; } public void setage (int age) {age = age; } private int id; Приватное название строки; частный int возраст; частное пользователи секс; public usersExenum getSex () {return Sex; } public void setSex (userExenum sex) {sex = sex; }} пакет com.example.model; public enum usersexenum {мужчина, женщина}Здесь нам нужно сравнить модель с SQL, которая управляет базой данных. Какое сравнение мы должны использовать? Тогда нам нужно создать Mapper. Здесь есть дополнения, удаления, модификации и поиск.
пакет com.example.mapper; import java.util.list; import org.apache.ibatis.annotations.delete; import org.apache.ibatis.annotation.insert; импорт org.apache.ibatis.annotation.result; импорт org.apache.ibatis.annotations.results. org.apache.ibatis.annotations.update; import com.example.model. * ;; getall (); @Select ("select * из пользователя, где id = #{id}") @Results ({@Result (property = "sex", column = "sex", javatype = usersexenum.class), @result (property = "name", column = "name")}) user getOne (int id); @Insert ("Вставьте в пользовательский (имя, возраст, пол) значения ( #{name}, #{age}, #{sex})") void insert (пользователь пользователь); @Update ("Обновление набор пользователя name =#{username}, age =#{age} где id =#{id}") void update (пользователь пользователя); @Delete ("Удалить из пользователя, где id =#{id}") void delete (int id);}Mapper настроен выше, так как система может узнать, где расположена Mapper? Так что есть аннотация @mapperscan.
пакет com.example.demo; import org.mybatis.spring.annotation.mapperscan; импорт org.springframework.boot.springapplication; импорт org.springframework.boot.autoconfigure.springbootpplication;@springbootpplication@mapperscan ("mom.mapprication") publicapplication@mapperscan ("mom.mapprication; {public static void main (string [] args) {SpringApplication.run (demoApplication.class, args); }}Здесь создается UserController, один из них - отображать всех пользователей, а другой - добавить нового пользователя, а затем отобразить всех пользователей.
пакет com.example.demo; import java.util.list; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.ui.model; импорт org.spramework.web.bindtation.rabestation.RebestAting org.springframework.web.bind.annotation.requestmethod; import com.example.mapper.usermapper; import com.example.model.user; import com.example.model.usersexenum;@controller@requestmapping («/user») общий класс usercontroller {@autoweris private usermapper usermapper usermapper; @Requestmapping (value = "/alluser.do",method = requestmethod.get) public String getallusers (модель модели) {list <user> users = usermapper.getall (); model.addattribute («Пользователи», пользователи); вернуть "пользовательский список"; } @RequestMapping (value = "/insert.do",method = requestMethod.get) public String AddUser (модель модели) {user user = new user (); user.setname ("cuiyw"); user.setage (27); user.setsex (usersexenum.man); usermapper.insert (пользователь); Список <user> users = usermapper.getall (); model.addattribute («Пользователи», пользователи); вернуть "пользовательский список"; }}Карта и модель также установлены выше. Чтобы взаимодействовать с базой данных, необходимо настроить адрес базы данных и другую информацию. При запуске здесь сообщалось об ошибке. Недостаточное исключение - java.sql.sqlexception: Значение часового пояса сервера 'Öð¹ú ± ê × ¼ê ± ¼ä' не распознается или представляет более одного часового пояса. Вы должны настроить драйвер сервера или JDBC (через свойство конфигурации Servertimezone), чтобы использовать более конкретное значение часового пояса, если вы хотите использовать поддержку часового пояса. Следующий часовой пояс устанавливается в MySQL: установить Global Time_zone = '+8:00';
spring.mvc.view.prefix =/view/spring.mvc.view.suffix = .jspmybatis.type-aliases-package = com.example.modelspring.datasource.driverclassname = com.mysql.cj.jdbc.driverspring.datasource.url = com.mysql.cj.jdbc.driverspring.datas jdbc: mysql: // localhost: 3306/mybatisspring.datasource.username = rootspring.datasource.password = 123456
7. Создайте страницу для отображения
Здесь мы все равно будем использовать JSP для отображения данных в соответствии с предыдущим блогом.
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <! Doctype html " 4.01 Transitional // en "" http://www.w3.org/tr/html4/loose.dtd"><html><head> meta http-eviv = "content-type" content = "text/html; <Tr> <Th> имя </th> <Th> Age </th> <Th> Пол </th> </tr> <C: foreach items = "$ {users}" var = "item"> <tr> <td> $ {item.name} </td> <td> $ {item.age} </td> <td> $ {item.sext.sext.sex} </td> </td> <td> $ {isex} </td> </td> <td> $ {stem.sex} </td> </td> <td> $ </c: foreach> </table> </body> </html>Здесь сначала откройте http: // localhost: 8080/user/alluser.do В браузере вы можете увидеть список пользователей, а затем введите http: // localhost: 8080/user/insert.do, и вы увидите, что в списке отображается дополнительная строка данных.
Использование интеграции Mybatis на основе аннотаций проще и удобнее, но она имеет как преимущества, так и недостатки. Это может быть менее удобным для подключения нескольких таблиц, и может быть лучше использовать конфигурацию на основе XML.
Хорошо, вышеупомянутое содержимое этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.