1 新建springboot项目
1.1 根据IDE生成项目
本次demo使用IDEA搭建,创建步骤如图
选择新建项目---选择spring项目
![](https://img.haomeiwen.com/i11406673/396271f431cb09d2.png)
使用默认项目名也有自己定义
![](https://img.haomeiwen.com/i11406673/28ef622bb9a598af.png)
![](https://img.haomeiwen.com/i11406673/0d7b26a147d39b29.png)
![](https://img.haomeiwen.com/i11406673/a2bd312d5e120d59.png)
2 pom文件添加必须依赖
2.1 依赖添加
如果项目是按照上图创建的,那么pom文件中的依赖就是完整的,如果是使用eclipse或者其他IDE开发的,可以根据下面文件检查是否有遗漏。
<?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 http://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.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 第三方依赖开始 -->
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- 第三方依赖结束 -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3 配置mybatis参数
3.1 基本mybatis参数
这里我们设置的是读取dev的配置文件
![](https://img.haomeiwen.com/i11406673/57992b921a6640a2.png)
server:
port: 8080 # 服务端口号
spring:
datasource:
username: root # 数据库账号
password: 123456 # 数据库密码
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC # 数据库连接
driver-class-name: com.mysql.jdbc.Driver # 数据库驱动
mybatis:
mapper-locations: classpath:mapping/*Mapper.xml #读取mapper文件的地址
type-aliases-package: com.example.demo.entity #通配符
#showSql
logging:
level:
com:
example:
demo:
mapper : debug
4 构建业务代码
4.1 搭建基础架构
这里使用了基础的三层架构。
Controller层
package com.example.demo.controller;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/testBoot")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("getUser/{id}")
public String GetUser(@PathVariable String id){
return userService.Sel(id).toString();
}
}
service层分成了接口和实现类
package com.example.demo.service;
import com.example.demo.entity.User;
public interface UserService {
User Sel(String id);
}
package com.example.demo.service.impl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper;
@Override
public User Sel(String id) {
return userMapper.Sel(id);
}
}
实体类
package com.example.demo.entity;
public class User {
private String id;
private String code;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id='" + id + '\'' +
", code='" + code + '\'' +
", name='" + name + '\'' +
'}';
}
}
mapper文件
package com.example.demo.mapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
public interface UserMapper {
User Sel(String id);
}
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.example.demo.mapper.UserMapper">
<select id="Sel" resultType="User">
select id from user where id = #{id}
</select>
</mapper>
5 测试
5.1 测试
启动主程序
package com.example.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.example.demo.mapper")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
注意上面要扫描mapper文件,不然会启动报错
启动成功后,访问http://localhost:8080/testBoot/getUser/1
可以看到收到了返回结果
![](https://img.haomeiwen.com/i11406673/40f249d2c3b3adf0.png)
是不是很简单。
网友评论