springboot 整合 mybatis 有很多种方式,本文之介绍其中一种。
一、eclipse添加sts插件
1、打开eclipse,help,选择 Eclipse Marketplace,在搜索框中搜 sts,安装sts插件。
二、创建springboot项目
1、使用 sts 插件创建项目
2、填写项目名,group,包名
3、选择jar包,点击 Finish 创建完成,创建完成后的项目结构如下
三、添加配置
1、在resources目录下创建 mapper 文件夹,再在mapper文件夹下创建 config 文件夹
2、在config文件夹下添加 sqlMapConfig.xml 配置文件
sqlMapConfig.xml 配置文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
配置完成后项目如下
3、配置yml文件
将 application.properties 文件修改为 application.yml 文件(不修改也可,个人习惯)
配置 mybatis ,配置数据源
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
config-location: classpath:mapper/config/sqlMapConfig.xml
spring:
datasource:
url: jdbc:mysql://localhost:3306/finance?useUnicode=true&characterEncoding=utf-8&useSSL=false
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
项目结构如下
四、编写代码
1、编写实体类
数据库表结构如下
实体类
package com.example.demo.bean;
public class User {
private String userId;
private String userName;
private String userCode;
private String userPwd;
private String roleId;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public String getRoleId() {
return roleId;
}
public void setRoleId(String roleId) {
this.roleId = roleId;
}
}
2、编写mapper,注意 @Mapper 注解
package com.example.demo.mapper;
import java.util.List;
import com.example.demo.bean.User;
@Mapper
public interface UserMapper {
List<User> getAllUser();
}
创建 UserMapper.xml 文件在mapper文件夹下
UserMapper.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.mapper.UserMapper">
<resultMap id="ShiroBaseResultMap" type="com.example.demo.bean.User">
<id column="user_id" property="userId" jdbcType="VARCHAR" />
<result column="user_name" property="userName" jdbcType="VARCHAR" />
<result column="user_code" property="userCode" jdbcType="VARCHAR" />
<result column="user_pwd" property="userPwd" jdbcType="VARCHAR" />
<result column="role_id" property="roleId" jdbcType="VARCHAR" />
</resultMap>
<select id="getAllUser" resultMap="ShiroBaseResultMap">
select * from user
</select>
</mapper>
3、编写service
package com.example.demo.service;
import java.util.List;
import com.example.demo.bean.User;
public interface UserService {
List<User> getAllUser();
}
编写service实现
package com.example.demo.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.bean.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> getAllUser() {
return userMapper.getAllUser();
}
}
4、编写controller
package com.example.demo.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.service.UserService;
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/user")
public Object users() {
return userService.getAllUser();
}
}
五、测试
浏览器输入 http://localhost:8080/user ,返回json,测试成功