springBoot,mybatis,select标签where-->if两种查询方式

在这里插入图片描述
第一种前提是int类型字段"competitionType"不为0,正规使用为第二种,因为标签可以根据需求判断是否要加and或者or等条件

### Spring Boot 集成 MyBatis 连接 MySQL 8 的配置指南 为了在 Spring Boot 中集成 MyBatis 并连接到 MySQL 8 数据库,可以按照以下方法完成必要的依赖引入和配置。 #### 添加 Maven 或 Gradle 依赖项 首先,在项目的 `pom.xml` 文件中添加所需的依赖项。以下是 Maven 和 Gradle 的示例: 对于 **Maven**: ```xml <dependencies> <!-- Spring Boot Starter for JPA --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.3.0</version> </dependency> <!-- MySQL Connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- Optional: Lombok for reducing boilerplate code --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> </dependencies> ``` 对于 **Gradle**: ```gradle implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.0' runtimeOnly 'mysql:mysql-connector-java' // 可选:Lombok 减少样板代码 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' ``` 以上依赖包含了 MyBatis-Spring 启动器以及用于连接 MySQL 的驱动程序[^1]。 --- #### 配置 application.properties 或 application.yml 接下来,通过修改 `application.properties` 或 `application.yml` 来设置数据库连接参数和其他必要选项。 ##### 使用 `application.properties` ```properties # DataSource Configuration spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # MyBatis Mapper XML Location (if using XML mappers) mybatis.mapper-locations=classpath:mapper/*.xml # Logging SQL Queries logging.level.org.mybatis=DEBUG ``` ##### 使用 `application.yml` ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver mybatis: mapper-locations: classpath:mapper/*.xml logging: level: org.mybatis: DEBUG ``` 上述配置指定了数据源 URL、用户名、密码以及其他属性,例如时区处理 (`serverTimezone`) 和 SSL 设置 (`useSSL`). 此外还定义了 MyBatis 映射文件的位置[^2]. --- #### 创建实体类(Entity) 创建一个简单的实体类来映射表结构。假设有一个名为 `User` 的表,则对应的实体如下所示: ```java public class User { private Long id; private String name; private Integer age; // Getters and Setters } ``` 如果使用 Lombok 库,可以通过注解简化代码: ```java import lombok.Data; @Data public class User { private Long id; private String name; private Integer age; } ``` --- #### 定义 Mapper 接口 MyBatis 支持两种方式编写查询逻辑:基于接口的方法和基于 XML 的方法。这里展示两者实现的例子。 ##### 基于接口的方式 ```java import org.apache.ibatis.annotations.Select; import java.util.List; public interface UserMapper { @Select("SELECT * FROM user WHERE age >= #{age}") List<User> findUsersByAge(int age); } ``` ##### 基于 XML 的方式 创建一个位于 `src/main/resources/mapper/UserMapper.xml` 的文件,并写入相应的 SQL 查询语句。 ```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.mapper.UserMapper"> <select id="findUsersByAge" resultType="com.example.entity.User"> SELECT * FROM user WHERE age >= #{age} </select> </mapper> ``` 同时需要声明该接口并关联 XML 文件: ```java public interface UserMapper {} ``` 注意这里的命名空间应与实际包路径一致. --- #### 注册 Bean 和启用扫描 最后一步是在主应用程序或配置类上启用组件扫描和支持 MyBatis 功能。 ```java import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.mapper") // 替换为你的 Mapper 所属包名 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 此操作会自动加载指定目录下的所有 Mapper 接口. --- ### 总结 通过上述步骤即可成功将 MyBatis 整合至 Spring Boot 项目并与 MySQL 8 数据库建立连接。确保正确安装所需依赖、调整配置文件中的数据库信息以及合理设计实体模型和 Mapper 层。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值