springboot2-整合lombok+mybatis+swagger2

项目目录

在这里插入图片描述

2.pom.xml

<?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.wo</groupId>
    <artifactId>springboot-second</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/>
    </parent>

    <dependencies>
        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!--热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <!-- 链接数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- lombok 自动get/set方法-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- swagger2 的依赖/自动生成接口文档以及自测的工具-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.8.0</version>
        </dependency>
        <!--JSP核心引擎依赖-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <!--JSTL-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
    </dependencies>
</project>

2.appliaction.yml

server:
  port: 8088
#配置数据库
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/qf?useUnicode=true&characterEncoding=utf8&useSSL=false
  mvc:
    view:
      prefix: /WEB-INF/user/
      suffix: .jsp
mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml
  type-aliases-package: com.wo.pojo

3.pojo

@Data//自动生成get/set方法
@AllArgsConstructor//有参构造
@NoArgsConstructor//无参构造
public class User {

    private Integer id;
    private String name;
    private String password;
    private String birth;
    private double money;
    private Integer role;

4.dao

//交给spring中的ioc
@Mapper
public interface UserDao {

    public List<User> findAll();

    public User findById(int id);

    public int update(User user);

    public int delete(int id);

    public int insert(User user);
}

5.service,serviceimpl

public interface UserService {
    public List<User> findAll();

    public User findById(int id);

    public void insertOrUpdate(User user);

    public int delete(int id);


}

import java.util.List;
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;


    @Override
    public List<User> findAll() {
        return userDao.findAll();
    }

    @Override
    public User findById(int id) {
        return userDao.findById(id);
    }

    @Override
    public void insertOrUpdate(User user) {
        Integer id = user.getId();
        if(id!=null){
            //如果Id不为空,修改
            userDao.update(user);
        }else{
            //如果为空,添加
            userDao.insert(user);
        }
    }

    @Override
    public int delete(int id) {
        return userDao.delete(id);
    }


}

6.controller

@Controller
public class UserController {

    @Autowired
    private UserService userService;


    @RequestMapping("/")
    public ModelAndView index(){
        List<User> userList = userService.findAll();
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.setViewName("index");
        modelAndView.addObject("userlist",userList);
        return modelAndView;
    }
    @RequestMapping("/findById")
    public ModelAndView findById(@RequestParam("id")int id){
        User user =  userService.findById(id);
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("user",user);
        modelAndView.setViewName("update");
        return modelAndView;
    }

    @RequestMapping("/delete")
    public String delete(@RequestParam("id")int id){
        userService.delete(id);
        return "redirect:/";
    }

    @RequestMapping("/goUpdatePage")
    public String goUpdatePage(){
        return "update";
    }
    @RequestMapping("/insertOrUpdate")
    public String insertOrUpdate(User user){
        userService.insertOrUpdate(user);
        return "redirect:/";
    }
}

7.Swagger2Config

//标注当前工程是一个配置类
@Configuration
//开启swagger的配置
@EnableSwagger2
public class Swagger2Config {
    //将该Docket交给了spring中的ioc
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                // swagger进行包扫描,扫描你当前的controller层路径
                .apis(RequestHandlerSelectors.basePackage("com.wo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("java-swagger")
                .description("swagger接入教程,简单好用")
                //服务条款网址
                .version("1.0")
                .build();
    }
}

8.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.wo.dao.UserDao">

    <select id="findAll" resultType="User">
        select * from user
    </select>

    <select id="findById" resultType="User" parameterType="int">
        select * from user where id=#{id}
    </select>
    
    <delete id="delete" parameterType="int">
        delete from user where id=#{id}
    </delete>

    <update id="update" parameterType="User">
      UPDATE user SET name=#{name},password=#{password},birth=#{birth},money=#{money},role=#{role} where id=#{id}
    </update>

    <insert id="insert" parameterType="User">
        insert into user VALUES (null,#{name},#{password},#{birth},#{money},#{role})
    </insert>
</mapper>

9.启动类

@SpringBootApplication
public class SecondSpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(SecondSpringBootApplication.class);
    }
}

10.swagger测试文档

输入路径+/swagger-ui.html
在这里插入图片描述

11.index.jsp

<!DOCTYPE html>
<html lang="en">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<head>
    <meta charset="utf-8">
    <title>所有用户</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<a href="/goUpdatePage">新增</a>
<table class="table table-hover">
    <caption>所有用户</caption>
    <thead>
    <tr>
        <th>id</th>
        <th>姓名</th>
        <th>密码</th>
        <th>生日</th>
        <th>余额</th>
        <th>角色</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <c:forEach items="${userlist}" var="user">
        <tr>
            <td>${user.id}</td>
            <td>${user.name}</td>
            <td>${user.password}</td>
            <td>${user.birth}</td>
            <td>${user.money}</td>
            <td>${user.role}</td>
            <td><a href="/findById?id=${user.id}">修改</a>||<a href="/delete?id=${user.id}">删除</a></td>
        </tr>
    </c:forEach>
    </tbody>
</table>

</body>

12.update.jsp

<!DOCTYPE html>
<html lang="en">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<head>
    <meta charset="utf-8">
    <title>更新</title>
</head>
<body>
<div>
    <form action="/insertOrUpdate" method="post">
        <input name="id" type="hidden" value="${user.id}">
        用户姓名:<input name="name" type="text" value="${user.name}"><br/>
        用户密码:<input name="password" type="text" value="${user.password}"><br/>
        用户生日:<input name="birth" type="text" value="${user.birth}"><br/>
        用户余额:<input name="money" type="text" value="${user.money}"><br/>
        用户角色:<input name="role" type="text" value="${user.role}"><br/>
        <input type="submit" value="提交更改"><br/>
    </form>
</div>

</body>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值