第1步:添加POM依赖
<?xml version="1.0" encoding="UTF-8"?>
< project xmlns = " http://maven.apache.org/POM/4.0.0" xmlns: xsi= " http://www.w3.org/2001/XMLSchema-instance"
xsi: schemaLocation= " http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" >
< modelVersion> 4.0.0</ modelVersion>
< parent>
< groupId> org.springframework.boot</ groupId>
< artifactId> spring-boot-starter-parent</ artifactId>
< version> 2.4.3</ version>
< relativePath/>
</ parent>
< groupId> fun.gosuncn</ groupId>
< artifactId> mybatis</ artifactId>
< version> 1.0-RELEASE</ version>
< properties>
< java.version> 1.8</ java.version>
</ properties>
< dependencies>
< dependency>
< groupId> org.springframework.boot</ groupId>
< artifactId> spring-boot-starter-web</ artifactId>
</ dependency>
< dependency>
< groupId> org.springframework.boot</ groupId>
< artifactId> spring-boot-starter-test</ artifactId>
< scope> test</ scope>
</ dependency>
< dependency>
< groupId> org.mybatis.spring.boot</ groupId>
< artifactId> mybatis-spring-boot-starter</ artifactId>
< version> 2.1.3</ version>
</ dependency>
< dependency>
< groupId> mysql</ groupId>
< artifactId> mysql-connector-java</ artifactId>
< scope> runtime</ scope>
</ dependency>
< dependency>
< groupId> junit</ groupId>
< artifactId> junit</ artifactId>
< version> 4.12</ version>
< scope> test</ scope>
</ dependency>
</ dependencies>
< build>
< plugins>
< plugin>
< groupId> org.springframework.boot</ groupId>
< artifactId> spring-boot-maven-plugin</ artifactId>
</ plugin>
</ plugins>
</ build>
< repositories>
< repository>
< id> public</ id>
< name> aliyun nexus</ name>
< url> http://maven.aliyun.com/nexus/content/groups/public/</ url>
< releases>
< enabled> true</ enabled>
</ releases>
</ repository>
</ repositories>
< pluginRepositories>
< pluginRepository>
< id> public</ id>
< name> aliyun nexus</ name>
< url> http://maven.aliyun.com/nexus/content/groups/public/</ url>
< releases>
< enabled> true</ enabled>
</ releases>
< snapshots>
< enabled> false</ enabled>
</ snapshots>
</ pluginRepository>
</ pluginRepositories>
</ project>
第2步:配置数据源
spring :
application :
name : mybatis
datasource :
driver-class-name : com.mysql.cj.jdbc.Driver
url : jdbc: mysql: //localhost: 3306/test
username : root
password : root
mybatis :
mapper-locations : classpath: mapper/*Mapper .xml
type-aliases-package : fun.gosuncn.bean
第3步:配置SQL文件
<?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 = " fun.gosuncn.mapper.UserMapper" >
< select id = " getUsers" resultType = " User" >
select username, password from user
</ select>
</ mapper>
第4步:编写UserMapper接口
package fun. gosuncn. mapper;
import fun. gosuncn. bean. User;
import java. util. List;
public interface UserMapper {
List< User> getUsers ( ) ;
}
第5步:编写User实体类
package fun. gosuncn. bean;
public class User {
private String username;
private String password;
public String getUsername ( ) {
return username;
}
public void setUsername ( String username) {
this . username = username;
}
public String getPassword ( ) {
return password;
}
public void setPassword ( String password) {
this . password = password;
}
}
第6步:编写入口文件
package fun. gosuncn;
import org. mybatis. spring. annotation. MapperScan;
import org. springframework. boot. SpringApplication;
import org. springframework. boot. autoconfigure. SpringBootApplication;
@MapperScan ( basePackages = { "fun.gosuncn.mapper" } )
@SpringBootApplication
public class MybatisApplication {
public static void main ( String[ ] args) {
SpringApplication. run ( MybatisApplication. class , args) ;
}
}
第7步:编写测试类
package fun. gosuncn;
import fun. gosuncn. bean. User;
import fun. gosuncn. mapper. UserMapper;
import org. junit. Test;
import org. junit. runner. RunWith;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. boot. test. context. SpringBootTest;
import org. springframework. test. context. junit4. SpringRunner;
import java. util. List;
@RunWith ( SpringRunner. class )
@SpringBootTest
public class MybatisApplicationTest {
@Autowired
private UserMapper userMapper;
@Test
public void test ( ) {
List< User> users = userMapper. getUsers ( ) ;
for ( User user : users) {
System. out. println ( user. getUsername ( ) + " : " + user. getPassword ( ) ) ;
}
}
}
第8步:编写数据库SQL文件
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0 ;
DROP TABLE IF EXISTS ` user ` ;
CREATE TABLE ` user ` (
` username` varchar ( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL ,
` password` varchar ( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
INSERT INTO ` user ` VALUES ( 'gosuncn' , '123456' ) ;
INSERT INTO ` user ` VALUES ( 'zt' , '666666' ) ;
SET FOREIGN_KEY_CHECKS = 1 ;
第9步:运行测试
2021-03-13 11:32:29.492 INFO 10752 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2021-03-13 11:32:30.184 INFO 10752 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
gosuncn : 123456
zt : 666666