最簡 最快 最全方式集成SpringBoot Mybatis(註解式) (Eclipse Maven)

 

一.新建maven項目

二.代碼

1.pom.xml

<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.jz.test</groupId>
	<artifactId>springboottest</artifactId>
	<version>0.0.1-SNAPSHOT</version>
   
	<dependencies> 
		<dependency> 
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<version>1.5.7.RELEASE</version>
		</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>
            <version>5.1.21</version>
        </dependency>
	</dependencies>
</project>

2.實體類

package com.jz.test.entity;


public class TrpApi {
	private String id;
	private String apiType;
	private String url;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getApiType() {
		return apiType;
	}
	public void setApiType(String apiType) {
		this.apiType = apiType;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}

3.application.yml

server:
  port: 8888
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/TRP?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: password#@!
    driver-class-name: com.mysql.jdbc.Driver

4.Mapper

package com.jz.test.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import com.jz.test.entity.PageData;
import com.jz.test.entity.TrpApi;

/*
	@Mapper註解的的作用
	1:爲了把mapper這個DAO交給Spring管理 http://412887952-qq-com.iteye.com/blog/2392672
	2:爲了不再寫mapper映射文件 https://blog.csdn.net/phenomenonstell/article/details/79033144
	3:爲了給mapper接口 自動根據一個添加@Mapper註解的接口生成一個實現類 http://www.tianshouzhi.com/api/tutorials/mapstruct/292
 */
@Mapper
public interface TrpApiMapper {
	/*
	 * 增刪改查註解對應
	 * @Insert
	 * @Delete
	 * @Update
	 * @Select
	 * */
	@Select("select * from trp_api")
	List<PageData> selectAll();
	@Select("select * from trp_api where POSITION(#{name} in name)")
	List<TrpApi> selectByName(String name);
}

5.Controller

package com.jz.test.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.jz.test.entity.PageData;
import com.jz.test.entity.TrpApi;
import com.jz.test.mapper.TrpApiMapper;

@RestController
@RequestMapping("/api")
public class TrpApiController {
	@Autowired
	private TrpApiMapper apiMapper;
	
	@RequestMapping(value="/", method=RequestMethod.GET)
	public List<PageData> selectAll(String id){
		return apiMapper.selectAll();
	}
	
	@RequestMapping(value="{name}", method=RequestMethod.GET)
	public List<TrpApi> selectByName(@PathVariable("name") String name){
		return apiMapper.selectByName(name);
	}
}

6.啓動類

package com.jz.test;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
/*
 * 指定mybatis掃描com.jz.test.mapper包下的Mapper
 */
@MapperScan(basePackages = "com.jz.test.mapper")
public class SpringApp {
	public static void main(String[] args) {
		SpringApplication.run(SpringApp.class, args);
	}
}

三.項目結構

四.啓動測試

在main方法下直接運行服務器

打開瀏覽器輸入地址

成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章