Springboot的用法之整合Mybatis
因为Springboot在现在的JaveWeb开发中使用越来越多,今天就出一个Springboot整合Mybatis的文章,因为Springboot一直崇尚的就是“约定大于配置”,因为在本篇只会有很少的配置文件。
一. 准备工作
首先你需要先创建好一个Springboot的工程,具体的步骤可参考上一篇==》springboot项目的搭建和基本的用法
本文将使用的是Springboot2.0版本
PS:开发的过程中最好启动热部署,那样的话会让工作量大大的减少。
二 . 开始集成Mybatis
- 首先需引入Mybatis和Mysql的相关依赖包
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <!--mysql的核心包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.45</version> <scope>runtime</scope> </dependency> <!--mybatis工具类--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <!--swagger依赖文件-->
|
2 然后开始配置Springboot的配置文件,在application.yml中增加数据库的配置,如下:
1 2 3 4 5 6 7
| #数据库的配置信息 spring: datasource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/testuseUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: root
|
1 2 3 4
| 然后再开启sql的打印,增加如下配置: #配置sql的打印 //包路径为mapper文件包路径 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| package com.kk.Springbootmanger.controller;
import com.kk.Springbootmanger.dao.UserDao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 javax.management.Query; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
@RestController public class DemoController {
@Autowired private UserDao userDao;
@RequestMapping(value = "/hello",method = RequestMethod.GET) public String sayHello(String name){ return name; }
@RequestMapping(value = "/getAll",method = {RequestMethod.GET,RequestMethod.POST}) public Object getAll(){ return userDao.getAll(); } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| package com.kk.Springbootmanger.domain;
import com.kk.Springbootmanger.common.UserSexEnum;
public class User { private Long id;
private String userName;
private String passWord;
private UserSexEnum userEnum;
private String nickName;
public User() { }
public User(Long id, String userName, String passWord, UserSexEnum userEnum, String nickName) { this.id = id; this.userName = userName; this.passWord = passWord; this.userEnum = userEnum; this.nickName = nickName; }
public void setId(Long id) { this.id = id; }
public void setUserName(String userName) { this.userName = userName; }
public void setPassWord(String passWord) { this.passWord = passWord; }
public void setUserEnum(UserSexEnum userEnum) { this.userEnum = userEnum; }
public void setNickName(String nickName) { this.nickName = nickName; }
public Long getId() { return id; }
public String getUserName() { return userName; }
public String getPassWord() { return passWord; }
public UserSexEnum getUserEnum() { return userEnum; }
public String getNickName() { return nickName; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| package com.kk.Springbootmanger.dao;
import com.kk.Springbootmanger.domain.User;
import java.util.List;
public interface UserDao { List<User> getAll(); User getOne(Long id); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?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.kk.Springbootmanger.dao.UserDao" >
<resultMap id="BaseResultMap" type="com.kk.Springbootmanger.domain.User" > <id column="id" property="id" jdbcType="BIGINT" /> <result column="userName" property="userName" jdbcType="VARCHAR" /> <result column="passWord" property="passWord" jdbcType="VARCHAR" /> <result column="user_sex" property="userEnum" javaType="com.kk.Springbootmanger.common.UserSexEnum"/> <result column="nick_name" property="nickName" jdbcType="VARCHAR" /> </resultMap>
<sql id="Base_Column_List" > id, userName, passWord, user_sex, nick_name </sql>
<select id="getAll" resultMap="BaseResultMap" > SELECT <include refid="Base_Column_List" /> FROM users </select>
<select id="getOne" parameterType="Long" resultMap="BaseResultMap" > SELECT <include refid="Base_Column_List" /> FROM users WHERE id = #{id} </select>
</mapper>
|
5.至此,基本的配置文件和配置已经完成
三.启动,验证
启动该工程,然后访问 http://localhost:8081/manager/getAll ,如图所示即成功了,顺便看到控制台打印出来的sql,完整的代码已经上传至Gihub
