[JAVA] [Trainieren! ] Mindesteinstellungen bei Verwendung von MyBatis

1. Vorkenntnisse

Nach Vorkenntnissen ist der Inhalt des obigen Links erforderlich.

2. Vorbereitung

22.png 23.png

  1. Geben Sie "cmd" in das Suchfeld ein, um "Eingabeaufforderung" zu starten. 07.png
  2. Login mit mysql -u Benutzername -p. 08.png 09.png

test.sql


create database test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

use test;

CREATE TABLE test1( 
    id TINYINT ZEROFILL NOT NULL AUTO_INCREMENT,
    name VARCHAR(50),
    PRIMARY KEY(id));

INSERT INTO `test1`(`name`) VALUES ("test1");
INSERT INTO `test1`(`name`) VALUES ("test2");
INSERT INTO `test1`(`name`) VALUES ("test3");
INSERT INTO `test1`(`name`) VALUES ("test4");
  1. Kopieren Sie die obige SQL-Anweisung und führen Sie sie an der Eingabeaufforderung aus.
  2. Erfolg, wenn "Abfrage OK" wie im Bild gezeigt angezeigt wird.

3. Erstellen Sie ein Spring Boot-Projekt

06.png

  1. Wählen Sie [Datei (F)] -> [Neu (N)] -> [Spring Starter Project]. 02.png
  2. Geben Sie als Namen "MyBatisTest" ein, wählen Sie "Java-Version: 8" und klicken Sie auf "Weiter". 03.png
  3. Wählen Sie "Spring Boot Version: 2.3.1", "Lombok", "JDBC API", "MyBatis Framework", "MySQL Driver", "Thymeleaf", "Spring Web" und klicken Sie auf "Fertig". ..

4. Führen Sie das Spring Boot-Projekt aus

Ordnerstruktur


MyBatisTest
└─ src
     └─ main
          ├─ java
          │   └─ com
          │        └─ example
          │             └─ demo
          │                  ├─ Entity.java
          │                  └─ TestController.java
          └─ resources
               ├─ application.properties
               ├─ mybatis-config.xml
               ├─ sample_mapper.xml
               │  
               ├─ static
               └─ templates
                    └─ index.html

Entity.java


package com.example.demo;

import lombok.Data;

@Data
public class Entity {
	private int id;
	private String name;
}

TestController.java


package com.example.demo;

import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class TestController {
    //Lesen Sie die Stammkonfigurationsdatei
	InputStream in = TestController.class.getResourceAsStream("/mybatis-config.xml");

	//Erstellen Sie eine SqlSessionFactory basierend auf der Konfigurationsdatei
	SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);

	//Generieren Sie SqlSession aus SqlSessionFactory
	SqlSession session = factory.openSession();

    @GetMapping("/")
    public String index(Model model) {

    	//Führen Sie SQL mit SqlSession aus
    	List<Entity> result = session.selectList("sample.mybatis.selectTest");

        model.addAttribute("Test", result);
        return "index";
    }
}

application.properties


spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=JST
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update

mybatis-config.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="sample_id">
    <environment id="sample_id">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost/test?serverTimezone=JST"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="sample_mapper.xml"/>
  </mappers>
</configuration>

sample_mapper.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">
<mapper namespace="sample.mybatis">
  <select id="selectTest" resultType="com.example.demo.Entity">
    select * from test1
  </select>
</mapper>

index.html


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org/">
  <head>
    <title>Test</title>
    <meta charset="utf-8" />
  </head>
  <body>
    <ul>
      <li th:each="entity : ${Test}">
        [[${entity.getId()}]]
        [[${entity.getName()}]]
      </li>
    </ul>
  </body>
</html>
  1. Ordnen Sie die Dateien wie in der Ordnerstruktur oben gezeigt an, klicken Sie mit der rechten Maustaste auf "MyBatisTest [boot]" und wählen Sie "[Ausführen] → [5 Maven-Installation]". 15.png
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.125 s
[INFO] Finished at: 2020-07-05T21:50:22+09:00
[INFO] ------------------------------------------------------------------------
  1. Erfolg, wenn die obige Anweisung auf der "Konsole" angezeigt wird. 16.png
  2. Klicken Sie mit der rechten Maustaste auf "MyBatisTest [boot]" und wählen Sie "[Run] → [9 Spring Boot Application]". 01.png
  3. Greifen Sie auf [localhost: 8080](http: // localhost: 8080 /) zu. Wenn es wie das Bild aussieht, ist es erfolgreich.

5. Verwandte

Recommended Posts

[Trainieren! ] Mindesteinstellungen bei Verwendung von MyBatis
Schrottpraxis mit Java ②
Schrottpraxis mit Java ①
Gradle-Einstellungen für die Verwendung von JUnit 5
Fehler bei der Verwendung von Schienen Capybara
SpringBoot + Mybatis-Fehler beim Booten
Detaillierte Tipps zur Verwendung von Rails