Prefácio
Hoje, vamos aprender sobre o Springboot que integra Mybatis. Geralmente, existem duas maneiras de integrar Mybatis. Um é baseado na anotação e o outro é baseado na configuração XML. Hoje, vamos aprender primeiro sobre a integração Mybatis baseada em anotação. Não vou dizer muito abaixo, vamos dar uma olhada na introdução detalhada
Por ser o mybatis, deve estar relacionado ao mybatis e eu uso o MySQL, por isso também precisa apresentar o MySQL relacionado.
<!-https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter-> <pendency> <putifactId> mybats-sybatis.spring.boot </grupo> <Artifactid> mybats-SIRSRING- <Versão> 1.3.2 </sistER> </dependency> <!-https://mvnrepository.com/artifact/mysql/mysql-connector-java-> <pendência> <puperid> mysql </groupid> <TarfactId> mysql-conconsector-java </artifactid> </groupid> <stifactId> mysql-conconsector- java </artiftid>
Um modelo de usuário é criado aqui, o que é conveniente para comparação com a tabela de banco de dados. Aqui, um banco de dados chamado mybatis é criado no MySQL e uma tabela de usuários é criada. Ao mesmo tempo, uma classe de enumeração UsuáriosExenum é criada.
Crie a tabela `user` (` id` int (11) não nula auto_increntle, `name` varchar (20) null padrão,` idade` int (11) nulo padrão, `sex` varchar (20) nulo nulo, chave primária (` id`)) mecan
pacote com.example.model; importar java.io.Serializable; public classe o usuário implementa serializável {@Override public String tostring () {// TODO Método Auto-Generado Stub Return "User [id =" + id + ", Nome =" + Nome + ", idade =" + idade + "]"; } public int getId () {return id; } public void setId (int id) {id = id; } public string getName () {return name; } public void setName (nome da string) {name = name; } public int getage () {Age de retorno; } public void setage (int Age) {Age = Age; } private int id; nome de string privado; private Int Age; sexo privado para usuáriosxenum; public userusexenum getSex () {return Sex; } public void SetSex (UseruSexenum Sex) {Sex = Sex; }} pacote com.example.model; public enum usersExenum {homem, mulher}Aqui precisamos comparar o modelo com o SQL que opera o banco de dados. Que comparação devemos usar? Então precisamos criar um mapeador. Existem acréscimos, deleções, modificações e pesquisas aqui.
package com.example.mapper;import java.util.List;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotações.update; importar com.example.model. *; getall (); @Select ("Selecione * do usuário onde id = #{id}") @Results ({@Result (Property = "Sex", Column = "Sex", Javatype = UsersExenum.class), @Result (Property = "Nome", Column = "Name")}) Usuário GetOne (int); @Insert ("inserir no usuário (nome, idade, sexo) valores ( #{nome}, #{idade}, #{sex})") void insert (usuário do usuário); @UpDate ("Atualize o nome do conjunto de usuários =#{nome de usuário}, idade =#{AGE} onde id =#{id}") void update (usuário do usuário); @Delete ("Excluir do usuário onde id =#{id}") void delete (int id);}O mapeador está configurado acima, então como o sistema pode saber onde o mapeador é colocado? Portanto, há anotação @mapperscan.
pacote com.example.demo; importar org.mybatis.spring.annotation.mapperscan; importar org.springframework.boot.springApplication; importação org.springframework.boot.autoconfigure.springbootApplication;@shiftappplication estático void main (string [] args) {springapplication.run (DemoApplication.class, args); }}Aqui, o UserController é criado, um é exibir todos os usuários e o outro é adicionar um novo usuário e exibir todos os usuários.
pacote com.example.demo; importar java.util.list; importar org.springframework.beans.factory.annotation.autowired; import org.springframework.tereotype.controller; import org.springfame.ui.mind.mind.mortyation.springfringfringframenwringfame.ub.mind.mind.mind.springfringfringframenwring.mind.mind.mind.springfringfringframenwring.mind.mind.mind.springfringfringframenwring.model; org.springframework.web.bind.annotation.requestmethod; importar com.example.mapper.userMapper; importar com.example.model.user; importar com.example.model.userSexenum;@controller@requestmapp (userm) usestroller; @RequestMapping (value = "/alluser.do",Method = requestMethod.get) public string getAllers (modelo modelo) {list <suser> usuários = userMApper.getall (); model.addattribute ("usuários", usuários); retornar "UserList"; } @RequestMapping (value = "/insert.do",Method = requestMethod.get) public string addUser (modelo modelo) {user user = new user (); user.setName ("Cuiyw"); user.setage (27); user.setSex (uservaxenum.man); UsermApper.insert (usuário); List <suser> usuários = userMApper.getAll (); model.addattribute ("usuários", usuários); retornar "UserList"; }}O mapeador e o modelo também estão definidos acima. Para interagir com o banco de dados, você deve configurar o endereço do banco de dados e outras informações. Foi relatado um erro ao ser executado aqui. Exceção de origem é java.SQL.SQLEXCECCIONCE: O valor do fuso horário do servidor 'Öðnça ± ê × ¼ê ± ¼ä' não é reconhecido ou representa mais de um fuso horário. Você deve configurar o servidor ou o driver JDBC (através da propriedade SERVERTIMEZONE CONFIGURAÇÃO) para usar um valor de fuso horário mais específico, se desejar utilizar suporte ao fuso horário. O próximo fuso horário é definido em MySQL: Definir 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 = JDBC: mysql: // localhost: 3306/mybatisspring.datasource.username = rootspring.datasource.password = 123456
7. Crie uma página para exibir
Aqui ainda usaremos o JSP para exibir dados de acordo com o blog anterior.
<%@ página linguagem = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jstl/core" http://java.sun.com/jstl/core "/! 4.01 Transição // pt "" http://www.w3.org/tr/html4/loose.dtd"><html><head> <<Meta http-equiv = "content-type" content = "text/html; <tr> <th> nome </th> <th> idade </th> <th> gênero </th> </tr> <c: foreach itens = "$ {users}" var = "item"> <tr> <td> $ {item.name} </td> <td> $ {item.age} </td> </c: foreach> </ table> </body> </html>Aqui, primeiro aberto http: // localhost: 8080/user/allUser.do no navegador, você pode ver a lista de usuários e entrar em http: // localhost: 8080/user/insert.do e você verá que a lista exibe uma linha adicional de dados.
O uso da integração baseado em anotação de Mybatis é mais fácil e mais conveniente, mas possui vantagens e desvantagens. Pode ser menos conveniente para que várias tabelas sejam conectadas e pode ser melhor usar a configuração baseada em XML.
Ok, o acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.