IntelliJ IDEA Spring Boot

来自牛奶河Wiki
阿奔讨论 | 贡献2024年8月15日 (四) 09:23的版本 →‎参考
跳到导航 跳到搜索

Spring Boot

  • 环境: IntelliJ IDEA 2023.1 (Ultimate Edition)
  • 实现: web, mysql
  • Step:
  1. New project -> Spring Initializr -> type: maven: testSprintBoot
  2. Dependency -> Web: Spring Web,SQL: MyBatis Framework, MySQL Driver/H2 Database
  3. src/main/resources: application.properties -> application.yml
  4. src/main/resources/static: index.html
  5. com.example.testspringboot: bean, controller, mapper, service

application.yml

spring.application.name:
  testSprintBoot
server:
  port: 8083

spring:
  datasource:
    url: jdbc:mysql://192.168.0.83:3306/mysql?serverTimezone=Asia/Shanghai&characterEncoding=utf-8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver


mybatis:
  type-aliases-package: com.example.testspringboot.bean


index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
This is a test web page.
</body>
</html>

# main.java/com.example.testspringboot.TestspringbootApplication
package com.example.testspringboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

# test.java/com.example.testspringboot.TestspringbootApplicationTests
package com.example.testspringboot;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class TestspringbootApplicationTests {
    @Test
    void contextLoads() {
    }
}

bean

SysUser

package com.example.testsprintboot.bean;

import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;

public class SysUser {

    private String host;
    private String user;
    private String passwordLastChanged;

    public String getHost() {
        return host;
    }
    public void setHost(String host) {
        this.host = host;
    }

    public String getUser() {
        return user;
    }
    public void setUser(String user) {
        this.user = user;
    }

    public String getPasswordLastChanged() {
        return passwordLastChanged;
    }
    public void setPasswordLastChanged(String passwordLastChanged) {
        this.passwordLastChanged = passwordLastChanged;
    }
}

mapper

SysUserMapper

package com.example.testsprintboot.mapper;

import com.example.testsprintboot.bean.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;

@Mapper
public interface SysUserMapper {
    @Select({
            "select",
            "host, user, date_format(password_last_changed, '%Y-%m-%d %H:%i:%s') password_last_changed",
            "from user"
    })
    List<SysUser> selectAll();
}

service

SysUserService

package com.example.testsprintboot.service;

import com.example.testsprintboot.bean.SysUser;
import java.util.List;

public interface SysUserService {
    public List<SysUser> selectAll();
}


# service: SysUserServiceImpl
package com.example.testsprintboot.service;

import com.example.testsprintboot.bean.SysUser;
import com.example.testsprintboot.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("SysUserService")
public class SysUserServiceImpl implements SysUserService {
    @Autowired
    private SysUserMapper sysUserMapper;

    @Override
    public List<SysUser> selectAll() {
        return sysUserMapper.selectAll();
    }
}

controller

SysUserController

package com.example.testsprintboot.controller;

import com.example.testsprintboot.bean.SysUser;
import com.example.testsprintboot.service.SysUserService;
import com.example.testsprintboot.service.SysUserServiceImpl;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import jakarta.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("/sysuser")
public class SysUserController {
    @Resource
    private SysUserService sysUserService = new SysUserServiceImpl();

    @RequestMapping(value = "/selectAll", method = RequestMethod.GET)
    public List<SysUser> selectAll() {
        List<SysUser> list = sysUserService.selectAll();
        return list;
    }
}


Test

http://192.168.0.15:8083/sysuser/selectAll
[{"host":"%","user":"root","passwordLastChanged":null},{"host":"localhost","user":"mysql.infoschema","passwordLastChanged":null},{"host":"localhost","user":"mysql.session","passwordLastChanged":null},{"host":"localhost","user":"mysql.sys","passwordLastChanged":null},{"host":"localhost","user":"root","passwordLastChanged":null}]


参考

  1. IDEA搭建一个SpringBoot项目
  2. SpringBoot + MyBatis(注解版),常用的SQL方法