项目结构

配置文件
-
pom.xml
<?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> <!-- 所有的spring-boot工程都必须继承spring-boot-starter-parent --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.xiaoge</groupId> <artifactId>springboot_mybatis</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot_mybatis</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!-- web工程起步依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springboot继承的测试起步依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <!-- mybatis起步依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.4</version> </dependency> <!-- MySQL连接驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 导入lombok依赖, 这样就不用写getter和setter等方法了 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <!-- maven的插件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> -
application.properties
# 数据库连接信息 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=root # 配置mybatis信息 # spring集成Mybatis环境 # pojo别名扫描包 mybatis.type-aliases-package=com.xiaoge.pojo #加载Mybatis映射文件 mybatis.mapper-locations=classpath:mapper/*Mapper.xml -
UserMapper.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="com.xiaoge.mapper.UserMapper"> <select id="queryUserList" resultType="user"> select * from user </select> </mapper>
实现类
-
User
package com.xiaoge.pojo; import lombok.Data; /** * @program: springboot_mybatis * @description: * @author: Mr.Xiao * @create: 2020-05-03 17:57 **/ @Data public class User { // 主键 private Long id; // 用户名 private String username; // 密码 private String password; // 姓名 private String name; }
持久层
-
UserMapper
package com.xiaoge.mapper; import com.xiaoge.pojo.User; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * @program: springboot_mybatis * @description: * @author: Mr.Xiao * @create: 2020-05-03 18:00 **/ @Mapper public interface UserMapper { public List<User> queryUserList(); }
业务层
-
UserService接口
package com.xiaoge.service; import com.xiaoge.pojo.User; import java.util.List; /** * @program: springboot_mybatis * @description: * @author: Mr.Xiao * @create: 2020-05-03 18:56 **/ public interface UserService { public List<User> queryUserList(); } -
UserServiceImpl实现类
package com.xiaoge.service.impl; import com.xiaoge.mapper.UserMapper; import com.xiaoge.pojo.User; import com.xiaoge.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @program: springboot_mybatis * @description: * @author: Mr.Xiao * @create: 2020-05-03 18:56 **/ @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> queryUserList() { return userMapper.queryUserList(); } }
表现层
-
MybatisController
package com.xiaoge.controller; import com.xiaoge.mapper.UserMapper; import com.xiaoge.pojo.User; import com.xiaoge.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @program: springboot_mybatis * @description: * @author: Mr.Xiao * @create: 2020-05-03 18:54 **/ @RestController public class MybatisController { @Autowired private UserService UserService; @GetMapping("/query") public List<User> queryUserList(){ List<User> users = UserService.queryUserList(); return users; } }
引导类
-
SpringbootMybatisApplication
package com.xiaoge; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootMybatisApplication { public static void main(String[] args) { SpringApplication.run(SpringbootMybatisApplication.class, args); } }
测试
-
MybatisTest
package com.xiaoge; import com.xiaoge.mapper.UserMapper; import com.xiaoge.pojo.User; 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; /** * @program: springboot_mybatis * @description: * @author: Mr.Xiao * @create: 2020-05-03 19:09 **/ @RunWith(SpringRunner.class) @SpringBootTest(classes = SpringbootMybatisApplication.class) // 指定引导类的class字节码 public class MybatisTest { @Autowired private UserMapper userMapper; @Test public void test() { List<User> users = userMapper.queryUserList(); System.out.println(users); } }
浙公网安备 33010602011771号