在学习java spring boot的时候使用MyBatis时一直出现问题, 现将详细demo代码记录如下:
1.sql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<span style="color: rgba(0, 128, 128, 1);">/*</span><span style="color: rgba(0, 128, 128, 1);"> Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 80015 Source Host : localhost:3306 Source Schema : test Target Server Type : MySQL Target Server Version : 80015 File Encoding : 65001 Date: 20/12/2021 11:24:17 </span><span style="color: rgba(0, 128, 128, 1);">*/</span> <span style="color: rgba(0, 0, 255, 1);">SET</span><span style="color: rgba(0, 0, 0, 1);"> NAMES utf8mb4; </span><span style="color: rgba(0, 0, 255, 1);">SET</span> FOREIGN_KEY_CHECKS <span style="color: rgba(128, 128, 128, 1);">=</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold;">0</span><span style="color: rgba(0, 0, 0, 1);">; </span><span style="color: rgba(0, 128, 128, 1);">--</span><span style="color: rgba(0, 128, 128, 1);"> ----------------------------</span><span style="color: rgba(0, 128, 128, 1);"> --</span><span style="color: rgba(0, 128, 128, 1);"> Table structure for tb_user</span><span style="color: rgba(0, 128, 128, 1);"> --</span><span style="color: rgba(0, 128, 128, 1);"> ----------------------------</span> <span style="color: rgba(0, 0, 255, 1);">DROP</span> <span style="color: rgba(0, 0, 255, 1);">TABLE</span> <span style="color: rgba(0, 0, 255, 1);">IF</span> <span style="color: rgba(128, 128, 128, 1);">EXISTS</span><span style="color: rgba(0, 0, 0, 1);"> `tb_user`; </span><span style="color: rgba(0, 0, 255, 1);">CREATE</span> <span style="color: rgba(0, 0, 255, 1);">TABLE</span><span style="color: rgba(0, 0, 0, 1);"> `tb_user` ( `id` </span><span style="color: rgba(0, 0, 255, 1);">int</span>(<span style="color: rgba(128, 0, 0, 1); font-weight: bold;">11</span>) <span style="color: rgba(128, 128, 128, 1);">NOT</span> <span style="color: rgba(0, 0, 255, 1);">NULL</span><span style="color: rgba(0, 0, 0, 1);">, `username` </span><span style="color: rgba(0, 0, 255, 1);">varchar</span>(<span style="color: rgba(128, 0, 0, 1); font-weight: bold;">255</span>) <span style="color: rgba(0, 0, 255, 1);">CHARACTER</span> <span style="color: rgba(0, 0, 255, 1);">SET</span> utf8 COLLATE utf8_general_ci <span style="color: rgba(0, 0, 255, 1);">NULL</span> <span style="color: rgba(0, 0, 255, 1);">DEFAULT</span> <span style="color: rgba(0, 0, 255, 1);">NULL</span><span style="color: rgba(0, 0, 0, 1);">, `password` </span><span style="color: rgba(0, 0, 255, 1);">varchar</span>(<span style="color: rgba(128, 0, 0, 1); font-weight: bold;">255</span>) <span style="color: rgba(0, 0, 255, 1);">CHARACTER</span> <span style="color: rgba(0, 0, 255, 1);">SET</span> utf8 COLLATE utf8_general_ci <span style="color: rgba(0, 0, 255, 1);">NULL</span> <span style="color: rgba(0, 0, 255, 1);">DEFAULT</span> <span style="color: rgba(0, 0, 255, 1);">NULL</span><span style="color: rgba(0, 0, 0, 1);">, </span><span style="color: rgba(0, 0, 255, 1);">PRIMARY</span> <span style="color: rgba(0, 0, 255, 1);">KEY</span><span style="color: rgba(0, 0, 0, 1);"> (`id`) USING BTREE ) ENGINE </span><span style="color: rgba(128, 128, 128, 1);">=</span> InnoDB <span style="color: rgba(0, 0, 255, 1);">CHARACTER</span> <span style="color: rgba(0, 0, 255, 1);">SET</span> <span style="color: rgba(128, 128, 128, 1);">=</span> utf8 COLLATE <span style="color: rgba(128, 128, 128, 1);">=</span> utf8_general_ci ROW_FORMAT <span style="color: rgba(128, 128, 128, 1);">=</span><span style="color: rgba(0, 0, 0, 1);"> Dynamic; </span><span style="color: rgba(0, 128, 128, 1);">--</span><span style="color: rgba(0, 128, 128, 1);"> ----------------------------</span><span style="color: rgba(0, 128, 128, 1);"> --</span><span style="color: rgba(0, 128, 128, 1);"> Records of tb_user</span><span style="color: rgba(0, 128, 128, 1);"> --</span><span style="color: rgba(0, 128, 128, 1);"> ----------------------------</span> <span style="color: rgba(0, 0, 255, 1);">INSERT</span> <span style="color: rgba(0, 0, 255, 1);">INTO</span> `tb_user` <span style="color: rgba(0, 0, 255, 1);">VALUES</span> (<span style="color: rgba(128, 0, 0, 1); font-weight: bold;">1</span>, <span style="color: rgba(255, 0, 0, 1);">'</span><span style="color: rgba(255, 0, 0, 1);">laowang</span><span style="color: rgba(255, 0, 0, 1);">'</span>, <span style="color: rgba(255, 0, 0, 1);">'</span><span style="color: rgba(255, 0, 0, 1);">112233</span><span style="color: rgba(255, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span><span style="color: rgba(0, 0, 255, 1);">INSERT</span> <span style="color: rgba(0, 0, 255, 1);">INTO</span> `tb_user` <span style="color: rgba(0, 0, 255, 1);">VALUES</span> (<span style="color: rgba(128, 0, 0, 1); font-weight: bold;">2</span>, <span style="color: rgba(255, 0, 0, 1);">'</span><span style="color: rgba(255, 0, 0, 1);">laoli</span><span style="color: rgba(255, 0, 0, 1);">'</span>, <span style="color: rgba(255, 0, 0, 1);">'</span><span style="color: rgba(255, 0, 0, 1);">123456</span><span style="color: rgba(255, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span><span style="color: rgba(0, 0, 255, 1);">SET</span> FOREIGN_KEY_CHECKS <span style="color: rgba(128, 128, 128, 1);">=</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold;">1</span>; |
2. pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
<span style="color: rgba(0, 0, 255, 1);"><?</span><span style="color: rgba(255, 0, 255, 1);">xml version="1.0" encoding="UTF-8"</span><span style="color: rgba(0, 0, 255, 1);">?></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">project </span><span style="color: rgba(255, 0, 0, 1);">xmlns</span><span style="color: rgba(0, 0, 255, 1);">="http://maven.apache.org/POM/4.0.0"</span><span style="color: rgba(255, 0, 0, 1);"> xmlns:xsi</span><span style="color: rgba(0, 0, 255, 1);">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: rgba(255, 0, 0, 1);"> xsi:schemaLocation</span><span style="color: rgba(0, 0, 255, 1);">="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">modelVersion</span><span style="color: rgba(0, 0, 255, 1);">></span>4.0.0<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">modelVersion</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">parent</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>org.springframework.boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>spring-boot-starter-parent<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">version</span><span style="color: rgba(0, 0, 255, 1);">></span>2.6.1<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">version</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">relativePath</span><span style="color: rgba(0, 0, 255, 1);">/></span> <span style="color: rgba(0, 128, 0, 1);"><!--</span><span style="color: rgba(0, 128, 0, 1);"> lookup parent from repository </span><span style="color: rgba(0, 128, 0, 1);">--></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">parent</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>com.zhg.demo<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>mybatis<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">version</span><span style="color: rgba(0, 0, 255, 1);">></span>0.0.1-SNAPSHOT<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">version</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">name</span><span style="color: rgba(0, 0, 255, 1);">></span>mybatis<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">name</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">description</span><span style="color: rgba(0, 0, 255, 1);">></span>Demo project for Spring Boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">description</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">properties</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">java.version</span><span style="color: rgba(0, 0, 255, 1);">></span>1.8<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">java.version</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">properties</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">dependencies</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>org.springframework.boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>spring-boot-starter<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>org.springframework.boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>spring-boot-starter-test<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">scope</span><span style="color: rgba(0, 0, 255, 1);">></span>test<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">scope</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 128, 0, 1);"><!--</span><span style="color: rgba(0, 128, 0, 1);">web核心依赖</span><span style="color: rgba(0, 128, 0, 1);">--></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>org.springframework.boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>spring-boot-starter-web<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 128, 0, 1);"><!--</span><span style="color: rgba(0, 128, 0, 1);">mysql数据库驱动</span><span style="color: rgba(0, 128, 0, 1);">--></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>mysql<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>mysql-connector-java<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">scope</span><span style="color: rgba(0, 0, 255, 1);">></span>runtime<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">scope</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 128, 0, 1);"><!--</span><span style="color: rgba(0, 128, 0, 1);">mybatis</span><span style="color: rgba(0, 128, 0, 1);">--></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>org.mybatis.spring.boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>mybatis-spring-boot-starter<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">version</span><span style="color: rgba(0, 0, 255, 1);">></span>2.2.0<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">version</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 128, 0, 1);"><!--</span><span style="color: rgba(0, 128, 0, 1);">Thymeleaf 启动器 </span><span style="color: rgba(0, 128, 0, 1);">--></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>org.springframework.boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>spring-boot-starter-thymeleaf<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">dependency</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">dependencies</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">build</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">plugins</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">plugin</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span>org.springframework.boot<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">groupId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span>spring-boot-maven-plugin<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">artifactId</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">plugin</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">plugins</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">build</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">project</span><span style="color: rgba(0, 0, 255, 1);">></span> |
3.src/main/resources/application.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<span style="color: rgba(0, 0, 0, 1);">server: port: 8182 spring: thymeleaf: mode: HTML encoding: UTF-8 content-type: text/html cache: false prefix: classpath:/templates datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/test username: root password: 123456 mybatis: mapper-locations: classpath:mapper/*Mapper.xml type-aliases-package: com.zhg.demo.entity configuration: map-underscore-to-camel-case: true</span> |
4. src/main/resources/mapper/UserMapper.xml
1 2 3 4 5 6 7 8 9 10 |
<span style="color: rgba(0, 0, 255, 1);"><?</span><span style="color: rgba(255, 0, 255, 1);">xml version="1.0" encoding="UTF-8" </span><span style="color: rgba(0, 0, 255, 1);">?></span> <span style="color: rgba(0, 0, 255, 1);"><!</span><span style="color: rgba(255, 0, 255, 1);">DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" </span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">mapper </span><span style="color: rgba(255, 0, 0, 1);">namespace</span><span style="color: rgba(0, 0, 255, 1);">="com.zhg.demo.mapper.UserMapper"</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">select </span><span style="color: rgba(255, 0, 0, 1);">id</span><span style="color: rgba(0, 0, 255, 1);">="findAll"</span><span style="color: rgba(255, 0, 0, 1);"> resultType</span><span style="color: rgba(0, 0, 255, 1);">="com.zhg.demo.entity.User"</span><span style="color: rgba(0, 0, 255, 1);">></span><span style="color: rgba(0, 0, 0, 1);"> SELECT * FROM tb_user </span><span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">select</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">select </span><span style="color: rgba(255, 0, 0, 1);">id</span><span style="color: rgba(0, 0, 255, 1);">="findById"</span><span style="color: rgba(255, 0, 0, 1);"> resultType</span><span style="color: rgba(0, 0, 255, 1);">="com.zhg.demo.entity.User"</span><span style="color: rgba(0, 0, 255, 1);">></span><span style="color: rgba(0, 0, 0, 1);"> SELECT * FROM tb_user WHERE id = #{id} </span><span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">select</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">mapper</span><span style="color: rgba(0, 0, 255, 1);">></span> |
5.com.zhg.demo.entity.User
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<span style="color: rgba(0, 0, 255, 1);">package</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.entity; </span><span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">class</span><span style="color: rgba(0, 0, 0, 1);"> User { </span><span style="color: rgba(0, 0, 255, 1);">private</span><span style="color: rgba(0, 0, 0, 1);"> Integer id; </span><span style="color: rgba(0, 0, 255, 1);">private</span><span style="color: rgba(0, 0, 0, 1);"> String username; </span><span style="color: rgba(0, 0, 255, 1);">private</span><span style="color: rgba(0, 0, 0, 1);"> String password; </span><span style="color: rgba(0, 0, 255, 1);">public</span><span style="color: rgba(0, 0, 0, 1);"> User() { } </span><span style="color: rgba(0, 0, 255, 1);">public</span><span style="color: rgba(0, 0, 0, 1);"> User(Integer id, String username, String password) { </span><span style="color: rgba(0, 0, 255, 1);">this</span>.id =<span style="color: rgba(0, 0, 0, 1);"> id; </span><span style="color: rgba(0, 0, 255, 1);">this</span>.username =<span style="color: rgba(0, 0, 0, 1);"> username; </span><span style="color: rgba(0, 0, 255, 1);">this</span>.password =<span style="color: rgba(0, 0, 0, 1);"> password; } </span><span style="color: rgba(0, 0, 255, 1);">public</span><span style="color: rgba(0, 0, 0, 1);"> Integer getId() { </span><span style="color: rgba(0, 0, 255, 1);">return</span><span style="color: rgba(0, 0, 0, 1);"> id; } </span><span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">void</span><span style="color: rgba(0, 0, 0, 1);"> setId(Integer id) { </span><span style="color: rgba(0, 0, 255, 1);">this</span>.id =<span style="color: rgba(0, 0, 0, 1);"> id; } </span><span style="color: rgba(0, 0, 255, 1);">public</span><span style="color: rgba(0, 0, 0, 1);"> String getUsername() { </span><span style="color: rgba(0, 0, 255, 1);">return</span><span style="color: rgba(0, 0, 0, 1);"> username; } </span><span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">void</span><span style="color: rgba(0, 0, 0, 1);"> setUsername(String username) { </span><span style="color: rgba(0, 0, 255, 1);">this</span>.username =<span style="color: rgba(0, 0, 0, 1);"> username; } </span><span style="color: rgba(0, 0, 255, 1);">public</span><span style="color: rgba(0, 0, 0, 1);"> String getPassword() { </span><span style="color: rgba(0, 0, 255, 1);">return</span><span style="color: rgba(0, 0, 0, 1);"> password; } </span><span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">void</span><span style="color: rgba(0, 0, 0, 1);"> setPassword(String password) { </span><span style="color: rgba(0, 0, 255, 1);">this</span>.password =<span style="color: rgba(0, 0, 0, 1);"> password; } }</span> |
6.com.zhg.demo.mapper.UserMapper
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style="color: rgba(0, 0, 255, 1);">package</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.mapper; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.entity.User; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.apache.ibatis.annotations.Mapper; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> java.util.List; @Mapper</span><span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">指定这是一个操作数据库的mapper</span> <span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">interface</span><span style="color: rgba(0, 0, 0, 1);"> UserMapper { List</span><User><span style="color: rgba(0, 0, 0, 1);"> findAll(); User findById(Integer id); }</span> |
7.com.zhg.demo.service.UserService
1 2 3 4 5 6 7 8 9 10 |
<span style="color: rgba(0, 0, 255, 1);">package</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.service; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.entity.User; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> java.util.List; </span><span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">interface</span><span style="color: rgba(0, 0, 0, 1);"> UserService { List</span><User><span style="color: rgba(0, 0, 0, 1);"> findAll(); User findById(Integer id); }</span> |
8.com.zhg.demo.service.impl.UserServiceImpl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<span style="color: rgba(0, 0, 255, 1);">package</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.service.impl; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.entity.User; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.mapper.UserMapper; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.service.UserService; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.springframework.beans.factory.annotation.Autowired; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.springframework.stereotype.Service; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> java.util.List; @Service </span><span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">class</span> UserServiceImpl <span style="color: rgba(0, 0, 255, 1);">implements</span><span style="color: rgba(0, 0, 0, 1);"> UserService { @Autowired </span><span style="color: rgba(0, 0, 255, 1);">private</span><span style="color: rgba(0, 0, 0, 1);"> UserMapper userMapper; @Override </span><span style="color: rgba(0, 0, 255, 1);">public</span> List<User><span style="color: rgba(0, 0, 0, 1);"> findAll() { </span><span style="color: rgba(0, 0, 255, 1);">return</span><span style="color: rgba(0, 0, 0, 1);"> userMapper.findAll(); } @Override </span><span style="color: rgba(0, 0, 255, 1);">public</span><span style="color: rgba(0, 0, 0, 1);"> User findById(Integer id) { </span><span style="color: rgba(0, 0, 255, 1);">return</span><span style="color: rgba(0, 0, 0, 1);"> userMapper.findById(id); } }</span> |
9.com.zhg.demo.controller.UserController
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<span style="color: rgba(0, 0, 255, 1);">package</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.controller; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.entity.User; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> com.zhg.demo.service.UserService; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.springframework.beans.factory.annotation.Autowired; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.springframework.web.bind.annotation.RequestMapping; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.springframework.web.bind.annotation.ResponseBody; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.springframework.web.bind.annotation.RestController; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> org.springframework.web.servlet.ModelAndView; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> javax.servlet.http.HttpServletRequest; </span><span style="color: rgba(0, 0, 255, 1);">import</span><span style="color: rgba(0, 0, 0, 1);"> java.util.List; @RestController @RequestMapping(</span>"user"<span style="color: rgba(0, 0, 0, 1);">) </span><span style="color: rgba(0, 0, 255, 1);">public</span> <span style="color: rgba(0, 0, 255, 1);">class</span><span style="color: rgba(0, 0, 0, 1);"> UserController { @Autowired </span><span style="color: rgba(0, 0, 255, 1);">private</span><span style="color: rgba(0, 0, 0, 1);"> UserService userService; @RequestMapping(</span>"/findAll"<span style="color: rgba(0, 0, 0, 1);">) </span><span style="color: rgba(0, 0, 255, 1);">public</span> List<User><span style="color: rgba(0, 0, 0, 1);"> findAll() { </span><span style="color: rgba(0, 0, 255, 1);">return</span><span style="color: rgba(0, 0, 0, 1);"> userService.findAll(); } @ResponseBody @RequestMapping(</span>"/abc"<span style="color: rgba(0, 0, 0, 1);">) </span><span style="color: rgba(0, 0, 255, 1);">public</span><span style="color: rgba(0, 0, 0, 1);"> ModelAndView abc(HttpServletRequest request) { String paramName </span>= request.getParameter("name");<span style="color: rgba(0, 128, 0, 1);">/*</span><span style="color: rgba(0, 128, 0, 1);">get/post参数</span><span style="color: rgba(0, 128, 0, 1);">*/</span><span style="color: rgba(0, 0, 0, 1);"> request.getSession().setAttribute(</span>"login",1<span style="color: rgba(0, 0, 0, 1);">); Object session </span>= request.getSession().getAttribute("login"<span style="color: rgba(0, 0, 0, 1);">); </span><span style="color: rgba(0, 128, 0, 1);">/*</span><span style="color: rgba(0, 128, 0, 1);">查询表中的多条数据</span><span style="color: rgba(0, 128, 0, 1);">*/</span><span style="color: rgba(0, 0, 0, 1);"> List</span><User> users =<span style="color: rgba(0, 0, 0, 1);"> userService.findAll(); String userName </span>= users.get(0<span style="color: rgba(0, 0, 0, 1);">).getUsername(); </span><span style="color: rgba(0, 128, 0, 1);">/*</span><span style="color: rgba(0, 128, 0, 1);">条件查询</span><span style="color: rgba(0, 128, 0, 1);">*/</span><span style="color: rgba(0, 0, 0, 1);"> User userOne </span>= userService.findById(1<span style="color: rgba(0, 0, 0, 1);">); String password </span>=<span style="color: rgba(0, 0, 0, 1);"> userOne.getPassword(); ModelAndView mv </span>= <span style="color: rgba(0, 0, 255, 1);">new</span><span style="color: rgba(0, 0, 0, 1);"> ModelAndView(); mv.addObject(</span>"name"<span style="color: rgba(0, 0, 0, 1);">, session); mv.setViewName(</span>"/abc.html"<span style="color: rgba(0, 0, 0, 1);">); </span><span style="color: rgba(0, 0, 255, 1);">return</span><span style="color: rgba(0, 0, 0, 1);"> mv; } }</span> |
10.src/main/resources/templates/abc.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<span style="color: rgba(0, 0, 255, 1);"><!</span><span style="color: rgba(255, 0, 255, 1);">DOCTYPE html</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 128, 0, 1);"><!--</span><span style="color: rgba(0, 128, 0, 1);">导入thymeleaf的名称空间</span><span style="color: rgba(0, 128, 0, 1);">--></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">html </span><span style="color: rgba(255, 0, 0, 1);">lang</span><span style="color: rgba(0, 0, 255, 1);">="en"</span><span style="color: rgba(255, 0, 0, 1);"> xmlns:th</span><span style="color: rgba(0, 0, 255, 1);">="http://www.thymeleaf.org"</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">head</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">meta </span><span style="color: rgba(255, 0, 0, 1);">charset</span><span style="color: rgba(0, 0, 255, 1);">="UTF-8"</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">title</span><span style="color: rgba(0, 0, 255, 1);">></span>Title<span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">title</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">head</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">body</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 128, 0, 1);"><!--</span><span style="color: rgba(0, 128, 0, 1);">th:text 为 Thymeleaf 属性,用于获取指定属性的值</span><span style="color: rgba(0, 128, 0, 1);">--></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">h1 </span><span style="color: rgba(255, 0, 0, 1);">th:text</span><span style="color: rgba(0, 0, 255, 1);">="'欢迎来到'+${name}"</span><span style="color: rgba(0, 0, 255, 1);">></</span><span style="color: rgba(128, 0, 0, 1);">h1</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">table</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">tr </span><span style="color: rgba(255, 0, 0, 1);">th:each</span><span style="color: rgba(0, 0, 255, 1);">="m:${users}"</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"><</span><span style="color: rgba(128, 0, 0, 1);">td </span><span style="color: rgba(255, 0, 0, 1);">th:text</span><span style="color: rgba(0, 0, 255, 1);">="${m.getUserName()}"</span><span style="color: rgba(0, 0, 255, 1);">></</span><span style="color: rgba(128, 0, 0, 1);">td</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">tr</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">table</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">body</span><span style="color: rgba(0, 0, 255, 1);">></span> <span style="color: rgba(0, 0, 255, 1);"></</span><span style="color: rgba(128, 0, 0, 1);">html</span><span style="color: rgba(0, 0, 255, 1);">></span> |
11.目录结构图如下
注意: application.yml 的配置内容严格控制缩进, 由于缩进问题影响时间大概为2天。