1、使用IDEA创建一个springboot的工程,创建springboot工程详细步骤请移步查看:https://blog.csdn.net/qq_38555490/article/details/90260295
2、修改pom文件,添加mybatis-的依赖,以及连接数据库mysql的依赖
<!--mybatis的起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!--mysql包-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
图示:
3、pom文件添加一个lombok的插件来对我们的pojo生成get,set方法
<!--pojo注解生成get、set方法-->
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
图示:
3、创建我们的工程目录结构(我这里创建的是一个demo)
5、修改application.properties文件,后缀改为yml,yml类型是springboot支持文件类型的一种。
具体yml介绍使用方法,请移步该文章查看:https://blog.csdn.net/qq_38555490/article/details/90264257
6、application.yml配置数据源,mybatis的配置
#mybatis与springboot整合所需要的配置
#数据源
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
mybatis:
#配置映射文件的扫描
#classpath 和classpath*的区别
#classpath :当前 spring只会去当前项目的类路径下找这个文件
#classpath*:spring会去当前项目的类路径以及所有的jar包的类路径下找这个文件
mapper-locations: classpath:com/xiaomin/dao/mapper/*.xml
#配置别名
type-aliases-package: com.xiaomin.pojo
图示:
6、springboot启动类配置注解扫描
@SpringBootApplication(scanBasePackages = "com.xiaomin")
@MapperScan("com.xiaomin.dao")
图示:
7、测试
创建数据库表
CREATE TABLE sutdent(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
age INT NOT NULL,
birthday DATE NOT NULL
)
图示:
pojo-Student.java 创建我们的实体类
package com.xiaomin.pojo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
/**
* @author jattxgt
* @site jattxgt
* @company jattxgt.com
* @create 2019-06-13 9:17
*/
@Getter //get方法
@Setter //set方法
@AllArgsConstructor //有参构造方法
@NoArgsConstructor //无参构造方法
public class Student {
private int id;
private String name;
private int age;
private Date birthday;
}
mapper-StuDao.java
package com.xiaomin.dao;
import com.xiaomin.pojo.Student;
import java.util.List;
/**
* @author jattxgt
* @site jattxgt
* @company jattxgt.com
* @create 2019-05-17 10:13
*/
public interface StuDao {
int insert(Student student);
List<Student> findAll();
}
图示:
mapper-StuDaoMapper.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.xiaomin.dao.StuDao">
<insert id="insert">
insert into student value (null,#{name},#{age},#{birthday})
</insert>
<select id="findAll" resultType="com.xiaomin.pojo.Student">
select * from student
</select>
</mapper>o9
server-StuService.java
package com.xiaomin.service;
import com.xiaomin.dao.StuDao;
import com.xiaomin.pojo.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author jattxgt
* @site jattxgt
* @company jattxgt.com
* @create 2019-05-17 10:20
*/
public interface StuService {
int insert(Student student);
List<Student> findAll();
}
serviceimpl-StuServiceImpl.java
package com.xiaomin.service.impl;
import com.xiaomin.dao.StuDao;
import com.xiaomin.pojo.Student;
import com.xiaomin.service.StuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author jattxgt
* @site jattxgt
* @company jattxgt.com
* @create 2019-05-17 10:21
*/
@Service
public class StuServiceImpl implements StuService {
@Autowired
private StuDao stuDao;
public int insert(Student student) {
int aa = stuDao.insert(student);
return aa;
}
@Override
public List<Student> findAll() {
List<Student> list = stuDao.findAll();
return list;
}
}
controller-StuController.java
package com.xiaomin.controller;
import com.xiaomin.pojo.Student;
import com.xiaomin.service.StuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
* @author jattxgt
* @site jattxgt
* @company jattxgt.com
* @create 2019-05-16 23:57
*/
@RestController
public class Controller {
@Autowired
private StuService stuService;
@RequestMapping("/hello")
public String fun() {
return "hello";
}
@RequestMapping("/insert")
public String insert() {
Student student = new Student(null, "李四", 18, new Date());
int aa = stuService.insert(student);
return "插入成功,影响:" + aa + "行";
}
@RequestMapping("/findAll")
public List<Student> findAll(){
return stuService.findAll();
}
}
浏览器测试
项目代码:
百度云盘地址:链接:https://pan.baidu.com/s/1pfdKlW2-W8NPz-O5NVBAeg
提取码:kwv2