您的位置:首页 > 健康 > 养生 > 八闽视频app下载_一张图看懂企业所得税_江苏网站seo设计_2022年免费云服务器

八闽视频app下载_一张图看懂企业所得税_江苏网站seo设计_2022年免费云服务器

2025/3/1 9:18:37 来源:https://blog.csdn.net/sgx1825192/article/details/145766434  浏览:    关键词:八闽视频app下载_一张图看懂企业所得税_江苏网站seo设计_2022年免费云服务器
八闽视频app下载_一张图看懂企业所得税_江苏网站seo设计_2022年免费云服务器

Spring Boot集成MyBatis访问MySQL

一、引言

在当今企业级应用开发中,Spring Boot、MyBatis与MySQL的组合凭借其高效性和灵活性,成为构建数据驱动型应用的首选方案。本文将带你从零开始搭建项目,掌握Spring Boot集成MyBatis的基础入门内容。

二、项目搭建

1.1 初始化Spring Boot项目

访问Spring Initializr创建项目:

  • Project:Maven
  • Language:Java
  • Spring Boot:3.4.2
  • Dependencies
    • Spring Web
    • MyBatis Framework
    • MySQL Driver

Spring Initializr配置截图

1.2 项目结构预览

src
├── main
│   ├── java
│   │   └── com/example/hello/mybatis
│   │       ├── entity       # 实体类
│   │       ├── mapper       # Mapper接口
│   │       └── Application.java
│   └── resources
│       ├── mapper           # XML映射文件
│       └── application.yml  # 配置文件
└── test                     # 单元测试

三、依赖(POM)

MyBatis依赖(mybatis-spring-boot-starter-test)

        <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>3.0.4</version><scope>test</scope></dependency>

MySQL驱动

        <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency>

POM完整示例

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.2</version><relativePath/></parent><groupId>com.example</groupId><artifactId>hello-mybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>hello-mybatis</name><description>Spring Boot 集成 MyBatis 访问 MySQL 数据库</description><properties><java.version>21</java.version></properties><dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.4</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>3.0.4</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></path></annotationProcessorPaths></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

四、应用配置

spring:application:name: hello-mybatisdatasource:url: jdbc:mysql://localhost:3306/mybatis_testusername: mybatis_test_userpassword: 123456mybatis:mapper-locations:- classpath:mapper/*.xmlconfiguration:map-underscore-to-camel-case: true

1. 配置数据源

application.yml 文件中,添加数据源配置(MySQL数据库),包括:数据库url,用户名,密码。

spring:datasource:url: jdbc:mysql://localhost:3306/mybatis_testusername: mybatis_test_userpassword: 123456

注意:不配置数据源会导致应用启动失败。

2. 配置扫描路径

在Spring Boot中,默认的XML映射文件需要放在resources目录下,并且路径要和Mapper接口的包名一致。

自定义XML映射文件的存放目录,在 application.yml 中配置扫描路径:

mybatis:mapper-locations:- classpath:mapper/*.xml

3. 配置下划线转驼峰

map-underscore-to-camel-case: true 是 MyBatis 框架中的一个配置项,用于自动将数据库字段的下划线命名风格(如 user_name)映射到 Java 对象的驼峰命名风格属性(如 userName

mybatis:configuration:map-underscore-to-camel-case: true

通过 map-underscore-to-camel-case: true,MyBatis 自动处理数据库字段与 Java 属性之间的命名风格差异,显著减少手动映射的工作量,是提升 ORM 开发效率的实用配置。

五、配置Mapper接口和XML映射文件

1. Mapper接口(UserMapper接口)

package com.example.hello.mybatis.mapper;import com.example.hello.mybatis.entity.User;
import org.apache.ibatis.annotations.Mapper;import java.util.List;@Mapper
public interface UserMapper {List<User> listUser();
}

2. XML 映射文件(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.example.hello.mybatis.mapper.UserMapper"><select id="listUser" resultType="com.example.hello.mybatis.entity.User">select * from user</select></mapper>

3. 实体类(User)

package com.example.hello.mybatis.entity;import lombok.Data;@Data
public class User {private String id;private String name;private Integer age;private String mobilePhone;
}

4. 单元测试

调用Mapper接口中方法查询数据库。

package com.example.hello.mybatis;import com.example.hello.mybatis.entity.User;
import com.example.hello.mybatis.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;@Slf4j
@SpringBootTest
class HelloMybatisApplicationTests {@Autowiredprivate UserMapper userMapper;@Testpublic void testUserMapper() {List<User> users = userMapper.listUser();log.info("用户列表 :{}", users);}}

六、运行效果

执行单元测试,调用Mapper接口中方法查询数据库,运行成功,能够正常查询数据。

七、数据库:用户表

1. 列和DDL

DDL:

-- mybatis_test.`user` definitionCREATE TABLE `user` (`id` varchar(100) NOT NULL COMMENT '主键',`name` varchar(100) DEFAULT NULL COMMENT '姓名',`age` int DEFAULT NULL COMMENT '年龄',`mobile_phone` varchar(20) DEFAULT NULL COMMENT '手机号码',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';

2. 用户数据

八、MyBatis官方文档

MyBatis官方文档

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com