springboot整合mybatis(idea)
一、开发环境
idea+java8+maven+mysql
需要提前把这些环境先搭好。
二、项目整体结构
三、数据准备
1、创建user表:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(60) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
2、往user表里随便插入几行数据
INSERT INTO `user` VALUES (5, '孤傲苍', 23);
INSERT INTO `user` VALUES (6, '白虎神', 22);
四、项目搭建
1、新建项目
点击file——>new——project
选择spring initializr项目,sdk选择1.8,然后点击next
javaversion和上一步的保持一致选择java8,然后点击下一步
添加项目起步依赖,这里只需要添加web的起步依赖就行了。mybatis和数据库驱动包后面手动添加一下
然后一直点击next到最后点击finish然后就可以生成springboot的项目结构了(需要有网络环境。默认会访问https://starts.spring.io来初始化新建的项目。如果是初次搭建maven需要拉取相关的依赖包,稍等片刻就好。)
刚建好的项目结构:
2、导入mybatis和mysql驱动包:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
3、添加mybatis和mysql的配置
4、项目代码和资源
新建User类
package com.example.springbootmybatis.domain;
public class User {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
新建UserMapper映射类
package com.example.springbootmybatis.mapper;
import com.example.springbootmybatis.domain.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
List<User> findUser();
}
新建controller(也可以添加对应的service层)
package com.example.springbootmybatis.controller;
import com.example.springbootmybatis.domain.User;
import com.example.springbootmybatis.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
UserMapper userMapper;
@RequestMapping("/list")
public List<User> getUsers(){
return userMapper.findUser();
}
}
controller中的userMapper属性会报错,提示Autowired注解不能自动装配。这个错误不影响,因为springboot在启动的时候会新建对应的mapper bean,并且完成装配。
也可以在UserMapper 类上加上@Component注解,消除这个提示。
新建usermapper.xml映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.springbootmybatis.mapper.UserMapper">
<select id="findUser" resultType="com.example.springbootmybatis.domain.User">
select * from user ;
</select>
</mapper>
5、启动项目
6、访问http://localhost:8080/user/list接口查看结果:
五、源码地址
https://gitee.com/yan-jialin/project.git
下一篇: 浅析数据结构之预备知识
推荐阅读
-
springboot系列之03-使用IDEA完成第一个示例程序
-
MyEclipse下SpringBoot+JSP整合过程及踩坑
-
带着新人学springboot的应用01(springboot+mybatis+缓存 上)
-
idea新建springboot项目
-
SpringBoot轻松整合MongoDB的全过程记录
-
springboot、mybatisplus框架整合搭建
-
springboot整合MybatisPlus基本使用
-
SpringBoot整合MyBatis获得插入数据后获取主键,返回值总是1
-
IDEA 单元测试报错:Class not found:xxxx springboot
-
IDEA新建Springboot项目(图文教程)