Vorwort
Lassen Sie uns heute über Springboot lernen, die MyBatis integrieren. Es gibt im Allgemeinen zwei Möglichkeiten, MyBatis zu integrieren. Einer basiert auf Annotation und der andere basiert auf der XML -Konfiguration. Lassen Sie uns heute zunächst über die Annotations-basierte MyBatis-Integration erfahren. Ich werde unten nicht viel sagen. Schauen wir uns die detaillierte Einführung an
Da es sich um MyBatis handelt, muss es mit MyBatis zusammenhängen, und ich benutze MySQL, sodass es auch MySQL-bezogene Einführung vorstellen muss.
<!-https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-Spring-Boot-Starter-> <De vorstellen> <gruppe. <version>1.3.2</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
Hier wird ein Benutzermodell erstellt, was zum Vergleich mit der Datenbanktabelle bequem ist. Hier wird eine Datenbank namens MyBatis in MySQL erstellt und eine Benutzertabelle erstellt. Gleichzeitig wird eine Aufzählungsklasse Usersexenum erstellt.
Tabelle `user`` (` id` int (11) nicht null auto_increment, `name` varchar (20) Standardnull,` ay` int (11) Standard Null, `sex` varchar (20) Standard Null, Primärschlüssel (` id`))
paket com.example.model; import java.io.serializable; public class user implements serializable {@Override public String toString () {// Todo Auto-generierter Methode Stub "Benutzer [id =" + id + ", name =" + name + ", ay" + agree + "]"; } 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 ay; } public void setage (int age) {älter = älter; } private int id; privater Zeichenfolge Name; privates int Alter; private Usersexenum -Sex; public UserSexenum getSex () {Sex zurückgeben; } public void setSex (Usersexenum sex) {sex = sex; }} paket com.example.model; public enum userexenum {Man, Frau}Hier müssen wir das Modell mit dem SQL vergleichen, das die Datenbank betreibt. Welchen Vergleich sollen wir verwenden? Dann müssen wir einen Mapper erstellen. Hier finden Sie Ergänzungen, Löschungen, Änderungen und Suchanfragen.
paket 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; org.apache.ibatis.Annotations.update; importieren com.example.model. *; getall (); @Select ("SELECT * vom Benutzer wob @Insert ("in den Benutzer einfügen (Name, Alter, Sex) Werte ( #{Name}, #{älter}, #{sex})") void Insert (Benutzer Benutzer); @Update ("Benutzer set name =#{userername}, ay =#{ay} wob @Delete ("vom Benutzer löschen wobei id =#{id}") void delete (int id);}Der Mapper ist oben konfiguriert. Wie kann das System also wissen, wo der Mapper platziert ist? Es gibt also Annotation @Mapperscan.
paket com.example.demo; import org.mybatis.spring.annotation.mapperscan; import org.springframework.boot.springapplication; public static void main (String [] args) {SpringApplication.run (DemoApplication.Class, Args); }}Hier wird UserController erstellt, einer wird alle Benutzer angezeigt und der andere ist, einen neuen Benutzer hinzuzufügen und dann alle Benutzer anzuzeigen.
paket com.example.demo; import java.util.list; import org.springframework.beans.factory.Annotation.autowired; org.springFramework.web.bind.annotation.requestMethod; import com.example.mapper.usermapper; com.example.model.user; @RequestMapping (value = "/alluser.do",Method = RequestMethod.get) öffentliche String getAllusers (Modellmodell) {list <Unter> usermapper.getall (); model.addattribute ("Benutzer", Benutzer); Rückgabe "UserList"; } @RequestMapping (value = "/insert.do",Method = RequestMethod.get) public String adduser (Modellmodell) {user user = new user (); user.setName ("cuiyw"); user.Setage (27); user.setSex (UserSexenum.man); UsMapper.insert (Benutzer); LIST <BENE> user = usermapper.getall (); model.addattribute ("Benutzer", Benutzer); Rückgabe "UserList"; }}Der Mapper und das Modell sind ebenfalls oben festgelegt. Um mit der Datenbank zu interagieren, müssen Sie die Datenbankadresse und andere Informationen konfigurieren. Bei der Ausführung hier wurde ein Fehler gemeldet. Nestierte Ausnahme ist java.sql.sqLexception: Der Server -Zeitzonenwert 'Öð¹ú ± ê × ¼ê ± ¼ä' ist nicht anerkannt oder stellt mehr als eine Zeitzone dar. Sie müssen entweder den Server- oder JDBC -Treiber konfigurieren (über die ServertimeZone -Konfigurationseigenschaft), um einen spezifischeren Zeitzonenwert zu verwenden, wenn Sie die Zeitzonenunterstützung verwenden möchten. Die nächste Zeitzone ist in MySQL festgelegt: Setzen Sie 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.drivers.datasources.url = JDBC: MySQL: // localhost: 3306/mybatisSpring.datasource.username = rootspring.datasource.Password = 123456
7. Erstellen Sie eine Seite zum Anzeigen
Hier werden wir immer noch JSP verwenden, um Daten gemäß dem vorherigen Blog anzuzeigen.
<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <! 4.01 Übergang // en "" http://www.w3.org/tr/html4/loose.dtd"><Html><Head ><meta http-equiv = "content-type" content = "text/html; <tr> <Th> Name </th> <Th> Alter </th> <th> Geschlecht </th> </tr> <c: foreach items = "$ {user}" var = "item"> <tr> <td> $ {item.name} </td> <td> {ttd> </td> </td> {td> $ {T. </c: foreach> </table> </body> </html>Öffnen Sie hier zuerst http: // localhost: 8080/user/aluser.do im Browser können Sie die Benutzerliste sehen und dann http: // localhost: 8080/user/insert.do eingeben, und Sie werden angezeigt, dass in der Liste eine zusätzliche Datenzeile angezeigt werden.
Die Verwendung von Annotationsbasis von MyBatis ist einfacher und bequemer, hat aber sowohl Vor- als auch Nachteile. Es kann weniger bequem sein, dass mehrere Tabellen angeschlossen werden, und es ist möglicherweise besser, die XML-basierte Konfiguration zu verwenden.
Okay, das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.