新手上路,出了好多错,记录一下

1.创建数据库:springBootSsmTest

2.打开IDEA创建 Spring boot项目:File——New——Project——Spring Assistant,下一步,填好包名等信息,下一步

Develop Tool选Lombok

Web选Spring Web

SQL选Jpa,Mysql,Mybatis

3.把java文件夹标识 为Source Root(右键,Mark as Directory As —— Source Root)

4.在com.my.demo下创建package命名为model,然后在这里创建 Java 类

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor; import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table; @NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
@Table(name = "tb_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
private String userName;
private String password;
private String email;
}

5.在resources下创建文件application.yml,删除原先的application.properties,粘帖如下代码:

spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springbootssmtest?serverTimezone=UTC
username: root
password: 123456 jpa:
hibernate:
ddl-auto: update
show-sql: true
6.运行程序,会自动生成数据表。
7.创建package命名为mapper,添加一个java类,命名为UserMapper
import java.util.List;
public interface UserMapper {
User getUser(Integer id);//根据id获取信息
boolean addUser(User user);//新增
boolean modifyUser(User user);//修改
boolean deleteUser(Integer id);//根据id删除
List<User> getAll();//获取所有
}
8.创建package命名为service,添加一个java类,命名为UserService
@Service
public class UserService {
@Autowired
private UserMapper userMapper; public User getUser(Integer id){
return userMapper.getUser(id);
} public boolean addUser(User user){
return userMapper.addUser(user);
} public boolean modifyUser(User user){
return userMapper.modifyUser(user);
} public boolean deleteUser(Integer id){
return userMapper.deleteUser(id);
} public List<User> getAll(){
return userMapper.getAll();
}
}
9.创建package命名为controller,创建Java类命名为UserController
@RestController
public class UserController {
@Autowired
private UserService userService; /**
* 获取默认的数据源信息
* @return
* @throws SQLException
*/ /**
* 根据id获取信息
* @param id
* @return
* @throws SQLException
*/
@ResponseBody
@GetMapping("/user/get/{id}")
public User getUser(@PathVariable("id") Integer id){
return userService.getUser(id);
} /**
* 获取所有信息
* @return
*/
@ResponseBody
@GetMapping("/user/list")
public List<User> getAll(){
return userService.getAll();
} /**
* 新增信息
* @param user
* @return
*/
@ResponseBody
@PostMapping("/user/add")
public boolean addUser(@RequestBody User user){
return userService.addUser(user);
} /**
* 修改信息
* @param user
* @return
*/
@ResponseBody
@PutMapping("/user/put")
public boolean modifyUser(@RequestBody User user){
return userService.modifyUser(user);
} /**
* 删除信息
* @param id
* @return
*/
@ResponseBody
@DeleteMapping("/user/delete/{id}")
public boolean deleteUser(@PathVariable("id") Integer id){
return userService.deleteUser(id);
}
}
10.添加依赖,Import Change
<!-- 整合Swagger依赖方便 REST测试  -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>

11.打开主类,添加注解,记得改包名

@MapperScan("com.my.demo.mapper")//自动扫描的Mapper包,如果这里不指定,则需要在每个Mapper接口中添加@Mapper主键(这两种方法二选一)
@EnableSwagger2 //开启Swagger2功能,方便测试RestApi
12.在resources下创建目录mapper,添加一个文件UserMapper,记得修改文件中两处包名。

<?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.my.demo.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.my.demo.model.User">
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="user_name" jdbcType="VARCHAR" property="userName"/>
<result column="password" jdbcType="VARCHAR" property="password"/>
<result column="email" jdbcType="VARCHAR" property="email"/>
</resultMap>
<!-- 根据id获取信息 -->
<select id="getUser" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select * from tb_user t where t.id = #{id}
</select>
<!-- 获取所有信息 -->
<select id="getAll" resultMap="BaseResultMap">
select * from tb_user t
</select>
<!-- 新增 -->
<insert id="addUser" parameterType="user">
insert into tb_user values(default,#{userName},#{password},#{email})
</insert>
<!-- 修改 -->
<update id="modifyUser" parameterType="user">
update tb_user set user_name=#{userName},password=#{password},email=#{email} where id = #{id}
</update>
<!-- 删除 -->
<delete id="deleteUser" parameterType="java.lang.Integer">
delete from tb_user where id = #{id}
</delete>
</mapper>
13.在application.yml中添加,记得改包名,顶格,和spring同一层次。

# Mybatis相关配置
mybatis:
# 对象别名包
type-aliases-package: com.my.demo.model
# Mybatis mapper.xml映射文件配置
mapper-locations:
- classpath:mappers/*.xml

14.运行程序吧。

idea 社区版+spring boot+ssm+swagger创建rest api的更多相关文章

  1. Spring Boot 集成 Swagger 生成 RESTful API 文档

    原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...

  2. Spring boot集成Swagger,并配置多个扫描路径

    Spring boot集成Swagger,并配置多个扫描路径 1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目 ...

  3. Spring Boot 集成 Swagger 构建接口文档

    在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修 ...

  4. [转] 使用Spring Boot和Gradle创建项目

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的 ...

  5. 使用Spring Boot和Gradle创建AngularJS项目

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的 ...

  6. Spring Boot 集成 Swagger,生成接口文档就这么简单!

    之前的文章介绍了<推荐一款接口 API 设计神器!>,今天栈长给大家介绍下如何与优秀的 Spring Boot 框架进行集成,简直不能太简单. 你所需具备的基础 告诉你,Spring Bo ...

  7. Spring Boot 集成Swagger

    Spring Boot 集成Swagger - 小单的博客专栏 - CSDN博客https://blog.csdn.net/catoop/article/details/50668896 Spring ...

  8. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,guava限流,定时任务案例, 发邮件

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...

  9. Spring Boot初识(3)- Spring Boot整合Swagger

    一.本文介绍 如果Web项目是完全前后端分离的话(我认为现在完全前后端分离已经是趋势了)一般前端和后端交互都是通过接口的,对接口入参和出参描述的文档就是Mock文档.随着接口数量的增多和参数的个数增加 ...

随机推荐

  1. Python 爬取各大代理IP网站(元类封装)

    import requests from pyquery import PyQuery as pq base_headers = { 'User-Agent': 'Mozilla/5.0 (Windo ...

  2. php 实现的功能

    1.php写日志函数 (如:前端请求日志记录) : https://www.cnblogs.com/lvchenfeng/p/6794822.html 2.php中(服务器)使用CURL实现GET和P ...

  3. CSS适配,方案

    1.尺寸常用单位:   https://www.cnblogs.com/whitewolf/p/css-em-px-percentage.html px.em.rem.% 2.CSS的长度单位适配方案 ...

  4. nginx502问题

    常见的502错误1.配置错误因为nginx找不到php-fpm了,所以报错,一般是fastcgi_pass后面的路径配置错误了,后面可以是socket或者是ip:port 2.资源耗尽lnmp架构在处 ...

  5. apache httpd 2.4 配置

    [authz_core:error] [pid 19562] [client 10.0.0.22:45424] AH01630: client denied by server configurati ...

  6. javascript 学习犯错记录

    看w3c学习js,有时按自己想法来,会出一些莫名奇妙的错误,而这些问题百度到了,但因为学习原因基础不捞,导致看到了答案,却认为这不是答案 1.一个很简单的 一个html,一个js文件 我想在js中的b ...

  7. 远程服务器安装nginx

    肯定有前端的小伙伴在腾讯云或者阿里云上购买了服务器,却不知道怎么访问使用它,那我们就一起来安装学习下? xshell 登录服务器,输入公网ip和密码登录 ls 查看目录,which nginx ,查看 ...

  8. 要素选择变化事件 IActiveViewEvents_SelectionChanged

    void IDockableWindowDef.OnCreate(object hook) { m_application = hook as IApplication; m_hookHelper = ...

  9. Excel_VBA 常用代码

    单元格编辑后改变背景色(6号,355832828) Dim oldvalue As Variant Private Sub Worksheet_Change(ByVal Target As Range ...

  10. 微信小程序开发系列之Hello World

    第一步:注册 在微信公众平台官网首页,点击注册.(相关文档可以找到,这里不再累述,望见谅.) 微信小程序注册成功后界面 第二步:编辑器.开发工具 我们假定你已经申请注册好微信小程序了,我们选定一个代码 ...