SpringBoot项目基本框架构建

SpringBoot搭建一个基本的Web项目结构,整合MyBatis ,带有controller,service,mapper三层目录的基本模板

模板下载

1.创建项目

2.构建目录结构

3.配置数据库及Mybatis

1.导入Druid依赖

1
2
3
4
5
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.24</version>
</dependency>

2.修改配置文件

1
2
3
4
5
6
7
8
9
10
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/aaa
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.zgl.entity

4.创建实体类及Mapper层

5.配置mapper映射文件

1
2
3
4
5
6
7
8
<?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.zgl.mapper.UserMapper">


</mapper>

6.编写业务逻辑进行测试

1.UserMapper

1
2
3
4
5
6
7
8
@Mapper
//@Mapper 可以被替代 ,在启动类中写下@MapperScan("包地址")就可以实现全局配置
@Repository
public interface UserMapper {
List<User> queryAll();
int addUser(@Param("user") User user);
int deleteUser(int id);
}

2.UserMapper.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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.zgl.mapper.UserMapper">

<insert id="addUser" parameterType="com.zgl.entity.User">
insert into user values (null,#{user.age},#{user.name},#{user.pwd})
</insert>

<delete id="deleteUser">
delete from user where id = #{id}
</delete>

<select id="queryAll" resultType="com.zgl.entity.User">
select * from user;
</select>
</mapper>

3.UserService

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Service
public class UserService {
@Autowired
UserMapper userMapper;

public List<User> querAll(){
return userMapper.queryAll();
}
public int addUser(User user){
return userMapper.addUser(user);
}
public int deleteUser(int id){
return userMapper.deleteUser(id);
}
}

4.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
@RestController
@RequestMapping("/User")
public class UserController {
@Autowired
UserService userService;
@Resource
ObjectMapper mapper;

@GetMapping("/all")
public String queryAll() throws JsonProcessingException {
String json = mapper.writeValueAsString(userService.querAll());
return json;
}

@PostMapping("/add")
public int addUser(@RequestParam("age") int age,
@RequestParam("name") String name,
@RequestParam("pwd") String pwd){
User user = new User(age,name,pwd);
return userService.addUser(user);
}

@GetMapping("/delete/{id}")
public int deleteUser(@PathVariable("id") int id){
return userService.deleteUser(id);
}

}