Springboot 入门之整合Mybatis
一、创建项目
1.首先File-New-Project
2.选择Maven Project创建一个Maven项目
填写maven信息
新建完工程的目录结构如下图所示
二、配置项目
1.增加Maven依赖
①.增加springboot依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
②.增加jar包依赖
<!-- springMVC -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!-- dbcp连接池 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- spring核心 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency>
2.更新maven
三、创建数据库表
在mysql中创建STUDENT表,并初始化数据
CREATE database if NOT EXISTS `zyb_job` default character set utf8mb4 collate utf8mb4_unicode_ci;
use `zyb_job`;
CREATE TABLE `student` (
`id` int(10) ,
`name` varchar(255) ,
`age` int(10),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT STUDENT (ID,NAME,AGE) VALUES(1,'ZS',22);
commit;
四、编写代码
1.App.java
package com.zyb.SpringBoot_Mybatis;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args ) {
SpringApplication.run(App.class, args);
}
}
2.controller层
package com.zyb.SpringBoot_Mybatis.controller;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zyb.SpringBoot_Mybatis.model.Student;
import com.zyb.SpringBoot_Mybatis.service.IStudentService;
@RestController
@RequestMapping("/student")
public class StudentController {
@Resource
IStudentService studentService;
@RequestMapping("/queryStudent")
public String queryStudentById() {
String result = "";
Student student = studentService.queryStudentById(1);
if(student != null) {
result = "ID:" + student.getId() + ", NAME:" + student.getName() + ", AGE:" + student.getAge();
} else {
result = "The result is empty!";
}
return result;
}
}
3.Service层
①.service接口
package com.zyb.SpringBoot_Mybatis.service;
import com.zyb.SpringBoot_Mybatis.model.Student;
public interface IStudentService {
public Student queryStudentById(int id);
}
②.service实现类
package com.zyb.SpringBoot_Mybatis.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.zyb.SpringBoot_Mybatis.dao.StudentMapper;
import com.zyb.SpringBoot_Mybatis.model.Student;
import com.zyb.SpringBoot_Mybatis.service.IStudentService;
@Service
public class StudentService implements IStudentService{
@Resource
StudentMapper studentDao;
@Override
public Student queryStudentById(int id) {
return studentDao.queryStudentById(id);
}
}
4.Dao层
package com.zyb.SpringBoot_Mybatis.dao;
import org.apache.ibatis.annotations.Mapper;
import com.zyb.SpringBoot_Mybatis.model.Student;
@Mapper
public interface StudentMapper {
Student queryStudentById(int id);
}
5.Model
package com.zyb.SpringBoot_Mybatis.model;
public class Student {
int id;
String name;
int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
6.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.zyb.SpringBoot_Mybatis.dao.StudentMapper">
<select id="queryStudentById" parameterType="java.lang.Integer" resultType = "com.zyb.SpringBoot_Mybatis.model.Student">
select * from student where id = #{id}
</select>
</mapper>
7.Application配置文件
### mybatis
mybatis.mapper-locations=classpath:/mapper/*Mapper.xml
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://localhost:3306/zyb_job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
五、启动项目并测试
1.启动项目
2.测试
用浏览器打开地址http://localhost:8080/studetn/queryStudent