上篇写了怎么搭建一个最基础的微服务项目。今天,主要通过实践,总结下springboot整合mybatis,快速入门。好了,下面直接开始正题吧。
首先:创建一张基础表,添加测试数据如下:
1:pom.xml添加mysql、jdbc、mybatis依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
2:修改application.properties文件:
#配置数据库信息
jdbc.type=mysql
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#mybatis.mapper文件的位置
mybatis.mapper-locations=classpath*:mapper/*Mapper.xml
mybatis.type-aliases-package=com.example.demo.entity
3:Controller中新建HelloWorldTest类:
package com.example.demo.controller;
import com.example.demo.entity.student;
import com.example.demo.service.HelloWorldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/Demo")
public class HelloWorldTest{
@Autowired
HelloWorldService helloWorldService;
@RequestMapping(value = "/helloWorld",method = RequestMethod.GET)
public List<student> Test() throws Exception{
return helloWorldService.query();
}
}
4:建Service接口类及实现类:
HelloWorldService接口类:
package com.example.demo.service;
import com.example.demo.entity.student;
import java.util.List;
public interface HelloWorldService {
List<student> query() throws Exception;
}
HelloWorldServiceImpl实现类:
package com.example.demo.service.ServiceImpl;
import com.example.demo.DAO.HelloWorldDAO;
import com.example.demo.entity.student;
import com.example.demo.service.HelloWorldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class HelloWorldServiceImpl implements HelloWorldService {
@Autowired HelloWorldDAO helloWorldDAO;
@Override
public List<student> query() throws Exception{
return helloWorldDAO.query();
}
}
5:dao接口:
package com.example.demo.DAO;
import com.example.demo.entity.student;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
@Mapper
public interface HelloWorldDAO {
List<student> query() throws Exception;
}
6:编写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.example.demo.DAO.HelloWorldDAO">
<select id="query" resultMap="studentResult">
select * from student
</select>
<resultMap type="student" id="studentResult">
<result property="studentId" column="studentId"/>
<result property="studentName" column="studentName"/>
</resultMap>
</mapper>
7:在启动类上添加扫描注解:
@SpringBootApplication(scanBasePackages={"com.example.*"})
@MapperScan("com.example.demo.DAO")
8:以上模块整合完成后,项目结构如图所示:
9:启动项目,访问地址,返回结果如图所示:
总结:springboot整合mybatis完成了,实现了一个基本请求访问数据库并返回结果。如有问题,欢迎大佬留言讨论!
知识就是要不断的学习,不断的复习,才会记忆的更加的深刻。加油,美好的风景一直在路上!