springboot+springmvc+mybatis 프로젝트 통합
15256 단어 springbootspringmvcmybatis
전편 에 서 는 ssm 다 중 모듈 프로젝트 의 구축 을 소 개 했 습 니 다.구축 과정 에서 springmvc 와 my batis 를 통합 할 때 우리 가 설정 해 야 할 것 이 많 습 니 다.그러면 시간 을 낭비 할 뿐만 아니 라 오류 가 발생 하기 쉽 습 니 다.이러한 문제 로 인해 Pivotal 팀 은 새로운 프레임 워 크 를 제 공 했 습 니 다.이 프레임 워 크 는 특정한 방식 으로 설정 되 었 습 니 다.개발 자 들 이 더 이상 모델 화 된 설정 을 정의 할 필요 가 없 게 한다.이런 방식 을 통 해 스프링 부 트 는 왕성 하 게 발전 하 는 빠 른 응용 개발 분야(rapid application development)에서 리더 가 되 는 데 주력 하고 있다.
특징:
1.독립 된 Spring 프로그램 만 들 기
2.포 함 된 Tomcat,WAR 파일 배치 필요 없 음
3.Maven 설정 간소화
4.스프링 자동 설정
5.생산 준비 형 기능,예 를 들 어 지표,건강 검사 와 외부 배치 제공
6.코드 생 성 이나 XML 설정 을 요구 하지 않 음
(이상 대부분의 내용 은 바 이 두 백과 에서 발췌)
ok,spring boot 에 대한 설명 은 여기까지 입 니 다.
springboot 프로젝트 를 만 드 는 것 을 추천 합 니 다.아이디어 나 sts(spring tool suite spring 회사 가 자체 개발 한 편집기)를 사용 하 는 것 을 추천 합 니 다.저 는 지금 아이디어 를 사용 하고 있 습 니 다.그래서 다음은 아이디어 로 프로젝트 를 만 들 겠 습 니 다.
프로젝트 생 성
Group 과 Atrifact 를 작성 하고 다음 단 계 를 클릭 하 십시오.여기 서 제 가 선택 한 것 은 jar 입 니 다.공식 문 서 는 JAR 로 포장 하 는 것 을 추천 하기 때문에 여 기 는 더 이상 설명 할 수 없습니다.
여기 웹 체크
MySQL,JDBC,Mybatis 를 선택 하고 다음 단 계 를 누 르 십시오.
항목 이름과 항목 경 로 를 입력 하고 완 료 를 누 르 십시오.
이것 은 새로 만 든 프로젝트 구조 입 니 다.
둘째,pom.xml 의존 추가
springboot 은 jsp 를 사용 하여 페이지 를 만 드 는 것 을 추천 하지 않 기 때문에 사용 하려 면 jsp 의존 도 를 추가 해 야 합 니 다.
<?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.chaoqi</groupId>
<artifactId>springboot_demo2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springboot_demo2</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/>
</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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</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>
<!-- jsp -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3.springboot 통합 springmvc프로젝트 를 만 들 때 mybatis 와 jdbc 를 선 택 했 기 때문에 여기 서도 둘 다 설정 해 야 돼 요.
application.properties 편집
#
spring.mvc.view.prefix=/WEB-INF/jsp/
#
spring.mvc.view.suffix=.jsp
#
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456
# mybatis
mybatis.mapper-locations: classpath:mapper/*.xml
mybatis.type-aliases-package: com.chaoqi.springboot_demo2.domain
애플 리 케 이 션.yml 을 사용 하 는 것 에 익숙 하 다 면 사용 하 셔 도 됩 니 다.하지만 애플 리 케 이 션.yml 을 사용 하여 첫 번 째 프로젝트 를 시작 할 때 반드시 maven clean 을 사용 하 십시오.그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.
server:
port: 8080
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
datasource:
url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&useUnicode=true&useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
mybatis:
mapper-locations: classpath:mapping/*.xml
type-aliases-package: com.chaoqi.springboot_demo2.domain
application.properties 를 편집 한 후 src/mian 에서 webapp 디 렉 터 리 를 만 듭 니 다.구 조 는 다음 과 같 습 니 다.새 IndexController
package com.chaoqi.springboot_test.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
private static final String INDEX = "index";
@RequestMapping("/show")
public String getIndex() {
return INDEX;
}
}
주 함수 실행페이지 접근,성공
4.springboot 통합 my batis
데이터베이스 시트 만 들 기
-- ----------------------------
-- Table structure for music_info
-- ----------------------------
DROP TABLE IF EXISTS `music_info`;
CREATE TABLE `music_info` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT ' id',
`singer_name` varchar(100) NOT NULL COMMENT ' ',
`music_size` varchar(100) NOT NULL COMMENT ' ',
`music_name` varchar(100) NOT NULL COMMENT ' ',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of music_info
-- ----------------------------
INSERT INTO `music_info` VALUES ('1', ' ', '3.2M', ' ');
INSERT INTO `music_info` VALUES ('2', ' ', '3.0M', ' ');
INSERT INTO `music_info` VALUES ('3', ' ', '5.0M', ' ');
pojo 만 들 기
package com.chaoqi.springboot_test.dao.domain;
public class MusicInfo {
// id
private Integer id;
//
private String singerName;
//
private String musicSize;
//
private String musicName;
/**
* id music_info.id
*
* @return id
*/
public Integer getId() {
return id;
}
/**
* id music_info.id
*
* @param id id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* music_info.singer_name
*
* @return
*/
public String getSingerName() {
return singerName;
}
/**
* music_info.singer_name
*
* @param singerName
*/
public void setSingerName(String singerName) {
this.singerName = singerName == null ? null : singerName.trim();
}
/**
* music_info.music_size
*
* @return
*/
public String getMusicSize() {
return musicSize;
}
/**
* music_info.music_size
*
* @param musicSize
*/
public void setMusicSize(String musicSize) {
this.musicSize = musicSize == null ? null : musicSize.trim();
}
/**
* music_info.music_name
*
* @return
*/
public String getMusicName() {
return musicName;
}
/**
* music_info.music_name
*
* @param musicName
*/
public void setMusicName(String musicName) {
this.musicName = musicName == null ? null : musicName.trim();
}
@Override
public String toString() {
return "MusicInfo{" +
"id=" + id +
", singerName='" + singerName + '\'' +
", musicSize='" + musicSize + '\'' +
", musicName='" + musicName + '\'' +
'}';
}
}
mapper.xml 만 들 기
<?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.chaoqi.springboot_test.dao.mapper.MusicInfoMapper">
<resultMap id="BaseResultMap" type="com.chaoqi.springboot_test.dao.domain.MusicInfo">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="singer_name" jdbcType="VARCHAR" property="singerName" />
<result column="music_size" jdbcType="VARCHAR" property="musicSize" />
<result column="music_name" jdbcType="VARCHAR" property="musicName" />
</resultMap>
</mapper>
mapper 생 성
package com.chaoqi.springboot_test.dao.mapper;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface MusicInfoMapper {
@ResultMap("BaseResultMap")
@Select("select * from music_info")
List<MusicInfo> selectAll(MusicInfo musicInfo);
}
서비스 인터페이스
package com.chaoqi.springboot_test.service;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import java.util.List;
public interface MusicInfoService {
public List<MusicInfo> getMusicInfo(MusicInfo musicInfo);
}
서비스 구현 클래스
package com.chaoqi.springboot_test.service.impl;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import com.chaoqi.springboot_test.dao.mapper.MusicInfoMapper;
import com.chaoqi.springboot_test.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class MusicInfoServiceImpl implements MusicInfoService {
@Autowired
private MusicInfoMapper musicInfoMapper;
@Override
public List<MusicInfo> getMusicInfo(MusicInfo musicInfo) {
List<MusicInfo> musicInfos = musicInfoMapper.selectAll(null);
return musicInfos;
}
}
생 성 완료 후 구 조 는 다음 과 같 습 니 다.indexController 편집
package com.chaoqi.springboot_test.web;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import com.chaoqi.springboot_test.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
public class IndexController {
private static final String INDEX = "index";
@Autowired
private MusicInfoService musicInfoService;
@RequestMapping("/show")
public String getIndex() {
return INDEX;
}
@RequestMapping("/music")
@ResponseBody
public List<MusicInfo> getMusicInfo(MusicInfo musicInfo) {
List<MusicInfo> musicInfoList = musicInfoService.getMusicInfo(null);
return musicInfoList;
}
}
SpringbootTestApplication 류 에 주석 을 달 아@MapperScan("com.chaoqi.springboottest.dao.mapper")
package com.chaoqi.springboot_test;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@MapperScan("com.chaoqi.springboot_test.dao.mapper")
public class SpringbootTestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootTestApplication.class, args);
}
}
프로젝트 실행,성공,springboot+springmvc+mybatis 통합 완료(원본 다운로드 주소)이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.