Springboot+ Mybatis搭建学习
文末有完整代码
准备工作
intellj idea(破解)
Mysql
Navicat premium(破解)
jdk
创建项目启动
-
创建spring boot项目
-
代码结构图
-
先创建几行代码,先跑起来看看啥情况(springboot内置了tomcat,启动就行了)
注意一些注解必要要的
启动
-
在浏览器输入http://localhost:8080/hello
Mybatis连接
- 首先在pom.xml中添加依赖(有些是项目创建时候自带的,主要是mysql和mybatis两个)
<dependencies>
<!-- web项目库 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--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.1</version>
</dependency>
<!-- 测试所需库 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
- 这里使用application.yml的配置
将原来的application.properties文件删除,创建application.yml文件
代码如下:
spring:
profiles:
active: dev
再新建一个application-dev.yml文件
代码如下:
server:
port: 8080
spring:
datasource:
username: root
password: 12345678
url: jdbc:mysql://localhost:3306/millet?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC(这里注意你millet为数据库名称)
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml(这里注意你mapper包名)
type-aliases-package: com.springboot.demo.entity(这里注意你entity包名)
#showSql
logging:
level:
com:
example:
mapper : debug
- 新建实体bean包,创建和数据表接受的字段
public class User implements Serializable {
private int id;
private String name;
private String sex;
public User(int id, String name, String sex) {
this.id = id;
this.name = name;
this.sex = sex;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
- 在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.springboot.demo.mapper.UserMapper(这里注意是java包中路径)“>
<select id="findAll" resultType="com.springboot.demo.entity.User(这里注意是实体类的路径)">
SELECT * FROM user
</select>
</mapper>
- 在java中新建包名mapper,新建接口UserMapper(这里和resources文件相互照应)
import java.util.List;
@Mapper(这里添加Mapper注解)
public interface UserMapper {
List<User> findAll();
}
- 新建service包,新建UserService接口和UserServiceImp实现类
UserService接口
public interface UserService {
List<User> findAll();
}
UserServiceImpl实现类
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAll();
}
}
- 在Controller中添加代码
@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "hello , this is a spring boot, haha";
}
@Autowired
private UserService userService;
@RequestMapping("/findAll")
public List<User> findAll(){
return userService.findAll();
}
}
- 在浏览器输入http://localhost:8080/findAll
数据库的数据为:
9. 完整代码
github