一、创建一个SpringBoot项目
从零开始的SpringBoot项目 ( 二 ) 使用IDEA创建一个SpringBoot项目
二、引入相关依赖
<!--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>
三、创建三层框架
创建实体类 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 返回值的包位置
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