Springboot 연결 데이터베이스 및 조회 데이터 전체 프로 세 스
8508 단어 Springboot데이터 뱅 크
첫걸음
springboot 계승 Mybatis 및 데이터베이스 연결 의존(이전 글 기록)
두 번 째 단계
resources -> application.properties
application.properties 에 데이터베이스 연결 설정 추가
#
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=lvxingchen
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
세 번 째 단계domain -> User
실체 클래스 를 만 듭 니 다.속성 은 데이터베이스 시트 필드 와 일치 해 야 합 니 다.
package com.lxc.springboot.domain;
public class User {
private int id;
private String user;
private String name;
private int age;
private String password;
@Override
public String toString() {
return "User{" +
"id=" + id +
", user='" + user + '\'' +
", name='" + name + '\'' +
", age=" + age +
", password='" + password + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
네 번 째 단계mapper -> UserMapper
UserMapper 인 터 페 이 스 를 만 듭 니 다.이것 도 프로젝트 의 지구 층 입 니 다.데이터 조회 와 관련 된 것 입 니 다.그 후에 저 희 는 sprongboot 에 게 mapper 폴 더 가 데이터 지구 층 인터페이스 라 는 것 을 알 게 해 야 합 니 다.따라서 프로젝트 입구 파일 에@MapperScan 주 해 를 사용 하여 지구 층 을 정의 해 야 합 니 다.
package com.lxc.springboot.mapper;
import com.lxc.springboot.domain.User;
import java.util.List;
public interface UserMapper {
public List<User> getUserList();
}
프로젝트 입구 파일 의 설정:
@ComponentScan("com.lxc.springboot")
@SpringBootApplication
@MapperScan("com.lxc.springboot.mapper") // springboot mapper
public class BootAndVueProjectApplication {
private static final Logger LOG = LoggerFactory.getLogger(BootAndVueProjectApplication.class);
public static void main(String[] args) {
SpringApplication app = new SpringApplication(BootAndVueProjectApplication.class);
// SpringApplication.run(BootAndVueProjectApplication.class, args);
Environment env = app.run(args).getEnvironment();
LOG.info(" !");
LOG.info(" :\thttp://127.0.0.1:{}", env.getProperty("server.port"));
}
}
그리고 UserMapper 인 터 페 이 스 를 만 드 는 sql 맵 파일 userMapper.xml 입 니 다.보통 이 파일 을 resources->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" >
<!-- -->
<!--
namespace: ;
id: ;
resultType: 。
-->
<mapper namespace="com.lxc.springboot.mapper.UserMapper" >
<select id="getUserList" resultType="com.lxc.springboot.domain.User">
select id, user, name, age, password from user
</select>
</mapper>
정의 가 끝나 면 spring boot 가 어떻게 알 아 요? resources->mapper->userMapper.xml 은 sql 맵 파일 입 니 다.이 때 resources->application.properties 에서 설정 해 야 합 니 다.
# mybatis Mapper.xml
mybatis.mapper-locations=classpath:/mapper/**/*.xml
다섯 번 째 단계service -> UserService
인터페이스 정의 가 끝나 면 저 희 는 service 서비스 층 을 만 들 고 모든 업무 논리 적 처 리 는 이 층 에서 이 루어 지 며 지구 층 인 터 페 이 스 를 호출 하 는 것 도 책임 집 니 다.
package com.lxc.springboot.service;
import com.lxc.springboot.domain.User;
import com.lxc.springboot.mapper.UserMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* service
* @Service // spring
*
* @Autowired @Resource
* ( import)
* Resource JDK
* Autowired spring
*/
@Service // spring
public class UserService {
@Resource
public UserMapper userMapper;
public List<User> getList() {
return userMapper.getUserList();
}
}
여섯 번 째 단계controller-> TestController
서비스 가 다 썼 고 데이터 도 조회 되 었 으 니 제어 층 Controller 를 정의 하고 service 층 을 호출 하 며 전단 api 인 터 페 이 스 를 작성 하 는 것 도 중간 층 이 라 고 할 수 있 습 니 다.
여기 중점적으로 기록 해 주세요. ComResponse 클래스,restful 인 터 페 이 스 는 전단 JSON 데이터 에 되 돌아 갈 때,상태 코드(code),응답 정보(message)등 공공 데 이 터 를 되 돌려 줍 니 다.여기 서 우 리 는 통일 적 으로 처리 하고 공공 클래스 를 작성 합 니 다.안에 이러한 공공 필드 속성 이 있 으 며,동시에 data 데이터 속성 도 있어 야 합 니 다.유형 은 보통 List 입 니 다.공공 류 를 범 형 으로 정의 하려 면 setData 를 사용 할 때 유형 이 불확실 하기 때문에 범 형 으로 정의 해 야 합 니 다. 전단 에 되 돌아 오 는 형식 은 다음 과 같 습 니 다.
{
code: 200,
메시지:"조회 성공",
data: [{ name:"lxc", age: 20 }, { name: "123", age: 100 }]
}
package com.lxc.springboot.controller;
import com.lxc.springboot.commonResponse.ComResponse;
import com.lxc.springboot.service.UserService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController // json
//@Controller //
public class TestController {
@Resource // service userService
private UserService userService;
// service
@RequestMapping(value = "/service")
public ComResponse getService() {
ComResponse<List<User>> objComResponse = new ComResponse<>();
List<User> userList = userService.getList();
objComResponse.setData(userList);
objComResponse.setMsg(" ")
return objComResponse;
}
}
공통 클래스:commonResponse -> ComResponse
package com.lxc.springboot.commonResponse;
/**
*
* @param <T>
* ComResponse , ,
* :
* js , , setData !!!
*/
public class ComResponse<T> {
private String msg = " ";
private int code = 200;
private T data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
일곱 번 째 단계시작 항목 테스트:
Springboot 연결 데이터베이스 및 조회 데이터 의 전체 절차 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Springboot 연결 데이터베이스 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.