springboot整合mybatis实现增删改查
创始人
2024-03-08 10:57:46
0

前言
在学习Springboot过程中,整合mybatis框架实现表数据的增删改查,话不多说,开始贴代码!

Spring Boot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖(并非全部)的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标即可!

org.springframework.bootspring-boot-starter-parent2.1.5.RELEASE

springboot完整pom.xml文件


4.0.0org.examplespringboot_demo1.0-SNAPSHOTorg.springframework.bootspring-boot-starter-parent2.1.5.RELEASE1.8org.springframework.bootspring-boot-starter-web

springboot整合mybatis

  1. SpringBoot官方并没有提供Mybatis的启动器,不过Mybatis官网自己实现了。在项目的 pom.xml 文件中加入mybatis依赖:

tk.mybatismapper-spring-boot-starter2.1.5

  1. 在 pom.xml 文件中加入druid依赖:
com.alibabadruid-spring-boot-starter1.2.8
  1. 在 pom.xml 文件中加入mysql驱动依赖
mysqlmysql-connector-java8.0.11

配置 application.yml

  1. 端口配置如下
server:port: 9527
  1. 数据源配置如下:
spring:datasource:druid:driver-class-name: com.mysql.cj.jdbc.Driver  # mysql是8.x版本的需要加cj,如果是低版本5.x的不需要加这个cjurl: jdbc:mysql://localhost:3306/cyw-study?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8username: rootpassword: Wangchunyu123
  1. mybatis配置如下:
mybatis:#classpath指的是resource文件夹mapper-locations: classpath:/mapper/*.xmlconfiguration:#开启驼峰命名规则 比如数据库字段是有下划线的t_no,那么代码中就要写成Tno代码里面自动把下划线的字母变成大写map-underscore-to-camel-case: truetype-aliases-package: com.o2o.data
  1. 开启日志
logging:level:com:o2o:cy: debug

配置Mapper层包路径扫描注解@MapperScan

@MapperScan("com.o2o.mapper")
public class AutoTestApplication {public static void main(String[] args) {SpringApplication.run(AutoTestApplication.class, args);}
} 

Springboot实战

一,首先我们先创建一个实体类Teacher,实体类其实就是对应一个数据表,其中的属性对应数据表中的字段。好处: 1.对对象实体的封装。 2.属性可以对字段定义和状态进行判断和过滤

package com.o2o.data;import lombok.Data;@Data
public class Teacher {private String Tno;private String Tname;public Teacher(String t_no, String t_name) {this.Tno = Tno;this.Tname = Tname;}public Teacher(){}public String getT_no() {return Tno;}public void setT_no(String t_no) {this.Tno = t_no;}public String getT_name() {return Tname;}public void setT_name(String t_name) {this.Tname = Tname;}@Overridepublic String toString() {return "Teacher{" +"t_no='" + Tno + '\'' +", t_name='" + Tname + '\'' +'}';}
}

二,接着在mapper层创建一个interface接口,需要加@Mapper注解,提供findAll()方法

package com.o2o.mapper;import com.o2o.data.Teacher;
import org.apache.ibatis.annotations.Mapper;import java.util.List;@Mapper
public interface TeacherMapper {//查询全部List findAll();
}

三,再创建一个service层interface接口和impl层实现类,需要加@Server注解

package com.o2o.service;import com.o2o.data.Teacher;import java.util.List;public interface TeacherService {List findAll();
}
package com.o2o.service.impl;import com.o2o.data.Teacher;
import com.o2o.mapper.TeacherMapper;
import com.o2o.service.TeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class TeacherServiceImpl implements TeacherService {@Autowiredprivate TeacherMapper teacherMapper;@Overridepublic List findAll() {List teachers = teacherMapper.findAll();return teachers;}
}

四,创建一个mapper.xml文件,配置各种SQL语句(例如SELECT,INSERT,UPDATE和DELETE)的语句




这里重点说下