Spring Boot是基于Spring框架的快速开发框架,它简化了Spring应用程序的配置和部署。而MyBatis是一款优秀的持久层框架,它可以与Spring Boot无缝集成,提供了灵活且高效的数据库访问能力。
整合Spring Boot和MyBatis的实战步骤如下:
- 添加依赖:在Maven或Gradle的配置文件中添加Spring Boot和MyBatis的相关依赖。例如,可以添加
spring-boot-starter-web用于Web应用开发,以及mybatis-spring-boot-starter用于整合MyBatis。 - 配置数据源:在
application.properties或application.yml配置文件中配置数据库连接信息,包括数据库URL、用户名、密码等。 - 创建数据访问对象(DAO):使用MyBatis的注解或XML配置文件定义数据访问对象(DAO)。DAO负责定义数据库操作的接口和方法。
- 编写Mapper接口:在DAO中定义的方法需要与Mapper接口进行映射。可以使用
@Mapper注解标记接口,并定义相应的SQL语句。 - 配置MyBatis:创建一个MyBatis的配置类,使用
@Configuration注解标记,并在配置类中添加@MapperScan注解指定Mapper接口的扫描路径。 - 编写业务逻辑代码:在Service层编写业务逻辑代码,通过注入DAO对象调用数据库操作方法。
- 编写控制器:使用Spring MVC编写控制器,处理客户端请求。在控制器中注入Service对象,并定义相应的请求映射和处理方法。
- 启动应用程序:创建一个启动类,使用
@SpringBootApplication注解标记,并在main方法中调用SpringApplication.run()方法启动应用程序。
以上是整合Spring Boot和MyBatis的基本步骤。通过配置数据源、编写DAO和Mapper接口、配置MyBatis以及编写业务逻辑和控制器,可以实现高效、灵活的数据库访问和业务逻辑处理。整合Spring Boot和MyBatis能够提高开发效率,并且易于维护和扩展。
🌺创建工程
创建domain包,里面写入Book类
package com.example.domain;
public class Book {
private Integer id;
private String name;
private String type;
private String description;
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 String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", type='" + type + '\'' +
", description='" + description + '\'' +
'}';
}
}
写入
数据层,创建数据层接口BookDao
在BookDao中写入内容
package com.example.dao;
import com.example.domain.Book;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface BookDao {
@Select("select * from abc where id=#{1}") //修改为自己的表名和id
public Book getById(Integer id);
}
修改properties文件为yml文件
在yml文件中写入内容
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/abc //修改为自己的数据库名
username: root
password: "1234" //密码是纯数字的要带上双引号
测试接口
package com.example;
import com.example.dao.BookDao;
import com.example.domain.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class Demo7ApplicationTests {
@Autowired
private BookDao bookDao;
@Test
void testGetById() {
Book book=bookDao.getById(1);
System.out.println(book);
}
}
运行成功
🎄报错解决
🎆java: 警告: 源发行版 17 需要目标发行版 17
这是因为springboot版本太高了 我们降低一下就好了
🎆乱码
运行后发现,之前在yml文件中的中文,运行后变成了乱码
解决方法