本文主要是在maven+springboot基础上加入mybatis
前一篇文章是基础哈,这是这个系列 第二篇 文件,点此链接进入第一篇
1.在pom中添加mybatis依赖,添加后的pom文件如下
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo20190328</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo20190328</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 加入mybatis依赖包 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</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>
<!-- GSON包不解释哈,也可以用阿里爸爸的fastjson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.mybatis配置
①在application.properties中添加mybatis配置,添加后配置如下:
mybatis.mapper-locations指定mapper文件存放路径
mybatis.config-location指定mybatis配置文件路径
#Spring datasource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mysql?serverTimezone=GMT%2B8&charset=utf-8&useSSL=true
server.port=8888
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.thymeleaf.cache = false
#mybatis options
mybatis.mapper-locations=classpath:/mappers/*.xml
mybatis.config-location=classpath:mybatisConfig.xml
3.创建对应的controller,service,dao层对应的类,完成后的结构如下图:
具体内容如下:【这里需要注意里面的@注解】
package com.example.demo.bean;
public class UserInfo {
private Long uuid;
private String name;
private Integer age;
private String grade;
private Integer sex;
private String createAt;
public Long getUuid() {
return uuid;
}
public void setUuid(Long uuid) {
this.uuid = uuid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getCreateAt() {
return createAt;
}
public void setCreateAt(String createAt) {
this.createAt = createAt;
}
public UserInfo() {
super();
}
}
package com.example.demo.controller;
import java.util.List;
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.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.bean.UserInfo;
import com.example.demo.service.MyService;
import com.google.gson.Gson;
@Controller
@RequestMapping(value="/test")
public class MyController {
@Autowired
private MyService Service;
@ResponseBody
@RequestMapping(value="/hello",method=RequestMethod.GET)
public String test() {
Gson gson = new Gson();
List<UserInfo> datas = Service.getAllUsersInfos();
return gson.toJson(datas);
}
}
package com.example.demo.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.example.demo.bean.UserInfo;
@Repository
@Mapper
public interface MyDao {
List<UserInfo> getAllUsers();
}
package com.example.demo.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.bean.UserInfo;
import com.example.demo.dao.MyDao;
@Service
public class MyService {
@Autowired
private MyDao dao;
public List<UserInfo> getAllUsersInfos() {
List<UserInfo> usersInfos = dao.getAllUsers();
return usersInfos;
}
}
package com.example.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Demo20190328Application {
public static void main(String[] args) {
SpringApplication.run(Demo20190328Application.class, args);
}
}
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" >
<mapper namespace="com.example.demo.dao.MyDao">
<select id="getAllUsers" resultType="user">
select uuid,name,grade,age,sex
from user_info
order by createAt desc
</select>
</mapper>
到这里已经可以正常的跑了,点击Demo20190328Application右键run as java application
浏览器中输入http://localhost:8888/test/hello
结果:
[{“uuid”:1,“name”:“zhan”,“age”:12,“grade”:“2021-12”,“sex”:1}]
注意事项:
pom中添加的依赖需要知道怎么去用,勿乱添加,有些依赖需要配置后才能用,否则会报错