一、创建一个SpringBoot项目

从零开始的SpringBoot项目 ( 二 ) 使用IDEA创建一个SpringBoot项目

二、引入相关依赖

从零开始的SpringBoot项目 ( 四 ) 整合mybatis-LMLPHP

从零开始的SpringBoot项目 ( 四 ) 整合mybatis-LMLPHP从零开始的SpringBoot项目 ( 四 ) 整合mybatis-LMLPHP

 <!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>

三、创建三层框架

从零开始的SpringBoot项目 ( 四 ) 整合mybatis-LMLPHP

创建实体类 UserInfoDO

 package com.my_springboot.user.pojo;

 import java.io.Serializable;

 public class UserInfoDO implements Serializable {

     private static final long serialVersionUID = 1L;
// 用户ID
private String id;
// 用户名
private String username;
// 密码
private String password; //省略get set方法 }

创建接口 UserInfoDAO

 package com.my_springboot.user.dao;

 import com.my_springboot.user.pojo.UserInfoDO;
import java.util.List; public interface UserInfoDAO {
List<UserInfoDO> listUsers();
}
在resources/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.my_springboot.user.dao.UserInfoDAO"> <select id="listUsers" resultType="UserInfoDO">
SELECT * FROM sys_user_info
</select> </mapper>

创建接口 IUserInfoService

 package com.my_springboot.user.service;

 import com.my_springboot.user.pojo.UserInfoDO;
import java.util.List; public interface IUserInfoService {
List<UserInfoDO> listUsers();
}

创建实现类 UserInfoServiceImpl

注意:需要在接口实现类中使用@Service注解,才能被SpringBoot扫描,在Controller中使用@Authwired注入

 package com.my_springboot.user.service.impl;

 import com.my_springboot.user.dao.UserInfoDAO;
import com.my_springboot.user.pojo.UserInfoDO;
import com.my_springboot.user.service.IUserInfoService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; @Service
public class UserInfoServiceImpl implements IUserInfoService { @Autowired
UserInfoDAO userInfoDAO;
@Override
public List<UserInfoDO> listUsers(){
return userInfoDAO.listUsers();
}
}

创建api接口 UserInfoController

package com.my_springboot.user.controller;

import com.my_springboot.user.pojo.UserInfoDO;
import com.my_springboot.user.service.IUserInfoService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
@RequestMapping("/userInfo")
public class UserInfoController { @Autowired
IUserInfoService userInfoService; @GetMapping("/listUsers")
public List<UserInfoDO> listUsers() {
return userInfoService.listUsers();
}
}

在启动类中添加@MapperScan注解 , 扫描所有 Mapper 接口

package com.my_springboot;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @MapperScan("com.my_springboot.*.dao")
@SpringBootApplication
public class MySpringbootApplication { public static void main(String[] args) {
SpringApplication.run(MySpringbootApplication.class, args);
} }

四、配置文件

在 resources 文件夹中创建配置文件 application.yml

 server:
#端口号
port: 8080 spring:
#数据库连接配置
datasource:
# driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost/my_springboot?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root
password: root #mybatis的相关配置
mybatis:
#mapper配置文件
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.my_springboot.*.pojo
#开启驼峰命名
configuration:
map-underscore-to-camel-case: true
注意
1.mybatis 中的 mapper-locations 是 mapper 的 xml 文件位置
2.mybatis 中的 type-aliases-package 是为了配置 xml 文件中 resultType 返回值的包位置

五、创建数据库和数据表

 -- ----------------------------
-- Table structure for sys_user_info
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_info`;
CREATE TABLE `sys_user_info` (
`id` varchar(32) NOT NULL,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of tb_user
-- ----------------------------
INSERT INTO `sys_user_info` VALUES ('1', 'laowang', '112233');
INSERT INTO `sys_user_info` VALUES ('2', 'laoli', '123456');

六、启动并访问

启动springboot

从零开始的SpringBoot项目 ( 四 ) 整合mybatis-LMLPHP

访问 http://localhost:8080/userInfo/listUsers

从零开始的SpringBoot项目 ( 四 ) 整合mybatis-LMLPHP

04-27 00:39