最终项目目录结构

创建过程

1.创建开关SpringBootApplication

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

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

1.2

1.3

1.4

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

其实现在一个最简单的springboot项目我们已经搭建完成了。什么?不相信?,你可以运行一下Ssmspringboot2Application这个文件呀。会报你未配置dataSource,我们如下图所示进行一下配置即可完成一个最简单的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

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

2.目录结构简单介绍

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

2.1 java

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

2.2 resources

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

2.3 开关文件

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

3.整合

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

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

数据库如下

3.1 User(创建一个来接收查询出来数据的对象)

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 +
'}';
}
}

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);
}

3.3 controller层

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;
} }

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);
}
}

我们一般基于mybatis都是将sql写到xml配置文件中。现在我们来添加映射

3.5 创建对应的mapper映射

<?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>

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

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>

撒花!!!完结!!!大功告成。

源自:https://blog.csdn.net/liboyang71/article/details/73459909

代码:链接: https://pan.baidu.com/s/1YjFQ5OSuzXYDkBYLNeNuGQ 密码: m6d8

最新文章

  1. USACO翻译:USACO 2014 JAN三题(2)
  2. asp.net 验证码session为null的解决方案
  3. hibernate----component-entity (人-地址-学校)
  4. Andriod phoneGap 入门
  5. Oracle logmnr工具分析日志脚本
  6. 20+富有创意的BuddyPress网站
  7. Telerik RadGridView 右键菜单如何设置?
  8. altium designer14的Import wizard 为空的解决方法
  9. android系统的图片资源
  10. 移动web:转盘抽奖(幸运大转盘)
  11. 《Linux命令行与shell脚本编程大全》第十六章 控制脚本
  12. video字幕无法显示,video视频在google中无法控制快进
  13. 【CSS学习】--- float浮动属性
  14. 插件使用一颜色选择器---cxColor
  15. el标签将时间戳转换为特定格式以及将数值保留特定小数
  16. Android教程:在百度地图上画出轨迹
  17. JavaScript对象遍历属性和值
  18. 详解如何将MathType嵌入word中
  19. centos LAMP第一部分-环境搭建 Linux软件删除方式,mysql安装,apache,PHP,apache和php结合,phpinfo页面,ldd命令 第十九节课
  20. python Django 路由之正则表达式

热门文章

  1. 高次arccos积分
  2. 吴裕雄 python 机器学习——模型选择回归问题性能度量
  3. 如何重启Cisco LAP?
  4. 20-02-27 hive表的几个问题
  5. 16,div+css的布局较table布局有什么优点?
  6. js将相除结果百分比 ,四舍五入函数 toFixed()
  7. sqlite3 install 和使用
  8. 国内免费可用的STUN服务器(webrtc 必备)
  9. MySQL死锁1
  10. Python - 静态方法@staticmethod和类方法classmethod