您的位置:首页 > 编程语言 > Java开发

java搭建基于springboot的ssm(spring + springmvc + mybatis)的maven项目

2017-11-01 17:56 1191 查看
今天我们来搭建一个简单的基于springboot的ssm(spring + springmvc + mybatis)的maven项目,使用的数据库为mysql。好了废话不多说开始搞起。


最终项目目录结构




创建过程


1.创建开关SpringBootApplication

为了创建快速。我们使用想法自带的创建springboot来创建结构,当然创建普通的卷筒纸项目也是可以的。(使用蚀的同学可以按照一会的图来自己创建目录结构)

1.1创建项目,按照图示进行选择


 
1.2 


 
1.3 


 
1.4



好了我们的初始项目算是创建完成了。项目结构如下图所示,其中Ssmspringboot2Application就是我们的开关文件 


 



其实现在一个最简单的springboot项目我们已经搭建完成了。什么?不相信?,你可以运行一下Ssmspringboot2Applicati
4000
on这个文件呀。会报你未配置数据源,我们如下图所示进行一下配置即可完成一个最简单的springboot项目进行跑通 



spring.datasource.url=jdbc:mysql://localhost:3306/maxrocky
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database = mysql
1
2
3
4


账号密码当然你要配置成你自己的.OK项目跑起来了。最简单的springboot项目搭建完成。结束了?不不不我们要搭建ssm项目呀。
现在我们开始加入我们的ssm。


2.目录结构简单介绍

在给同学们演示如何将SSM融入到项目中之前,先和各位同学讲一下目录结构方便各位同学理解。

2.1 java

这个就不用多说了。放我们写的的java文件的

2.2资源

springboot主张无XML配置,但是还是需要一些最基础的信息配置的,例如SQL账号密码的设置,在简洁你的账号密码还是需要你自己配置滴,它是没办法帮你自动生成的。所以一般配置文件都是放到资源下的。具体默认生成的文件都是做什么的以及什么资源放到什么文件下可以看我之前写过的一片关于各文件夹作用的文章springboot目录结构详解

2.3开关文件

Ssmspringboot2Application文件就是springboot的核心开关了。


3.整合

需求:从数据库中查询出某一用户的所有信息返回给前台页面

好了,上面做了简单的声明。开始整合。还是基于开发的最基本的三层架架构进行开发。但是为了方便省略服务层。
添加后的结构如下,具体解释我放在了代码的注释中



数据库如下 



3.1创建一个来接收查询出来数据的对象
package com.example.demo.domain;

/**
* Created by beyondLi on 2017/6/19.
*/

public class User {
private Integer id;
private String username;
private Integer age;
private Integer customerid;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}

public Integer getCustomerid() {
return customerid;
}

public void setCustomerid(Integer customerid) {
this.customerid = customerid;
}

@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", age=" + age +
", customerid=" + customerid +
'}';
}
}
1
2
3
4

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
15825

22
23
24
25
26
27
28
29
三十
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

3.2 dao层创建接口
package com.example.demo.dao;

import com.example.demo.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

/**
* Created by beyondLi on 2017/6/19.
*/
@Mapper     //声明是一个Mapper,与springbootApplication中的@MapperScan二选一写上即可
@Repository
public interface UserMapper {
User selectUserByName(String name);
}
1
2
3
4

6
7
8
9
10
11
12
13
14
15

3.3控制器层
package com.example.demo.controller;

import com.example.demo.dao.UserMapper;
import com.example.demo.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* Created by beyondLi on 2017/6/19.
*/
//证明是controller层并且返回json
@RestController
public class UserController {
//依赖注入
@Autowired
UserMapper userMapper;

@RequestMapping(value = "cs")
public User cs() {
//调用dao层
User user = userMapper.selectUserByName("beyondLi");
return user;
}

}
1
2
3
4

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

3.4主开关Ssmspringboot2Application
package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
@EnableTransactionManagement//开启事务管理
@MapperScan("com.example.demo.dao")//与dao层的@Mapper二选一写上即可(主要作用是扫包)
public class Ssmspringboot2Application {

public static void main(String[] args) {
SpringApplication.run(Ssmspringboot2Application.class, args);
}
}
1
2
3
4

6
7
8
9
10
11
12
13
14
15
16
17

我们一般基于MyBatis的都是将SQL写到XML配置文件中。现在我们来添加映射 



3.5创建对应的映射映射
<?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.dao.UserMapper" >

<select id="selectUserByName"  resultType="User">
SELECT * FROM user WHERE username = #{name}
</select>

</mapper>
1
2
3
4

6
7
8
9

3.6重点重点,不要跑项目。需要配置application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/maxrocky
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database = mysql
#Mybatis扫描
mybatis.mapper-locations=classpath*:mapper/*.xml
#起别名。可省略写mybatis的xml中的resultType的全路径
mybatis.type-aliases-package=com.example.demo.domain
1
2
3
4

6
7
8
9

3.7 pom文件。我们为了使用mapper注解还需要手动添加一个依赖
<?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>

<groupId>com.example</groupId>
<artifactId>ssmspringboot2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>ssmspringboot2</name>
<description>Demo project for Spring Boot</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</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>1.1.1</version>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
1
2
3
4

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
三十
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
66
67
68
69
70
71
72

撒花!完结!大功告成。 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐