MyBatis-Plus CRUD接口-SimpleQuery 工具类
MyBatis-Plus 提供了一个名为 QueryWrapper 的工具类,用于构建条件查询的条件封装。通过 QueryWrapper,可以方便地构建简单的查询条件。以下是使用 QueryWrapper 进行简单查询的示例:假设有一个实体类 User:public class User { private Long id; private String name; private Integer age; // Getter 和 Setter 方法省略...}1. 使用 QueryWrapper 进行等值查询:QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("age", 25);List<User> userList = userMapper.selectList(queryWrapper);在上述示例中,eq("age", 25) 表示查询年龄等于 25 的记录。2. 使用 QueryWra...
MyBatis-Plus CRUD接口-ActiveRecord 模式
ActiveRecord 模式是一种面向对象设计模式,它将对象的行为与数据持久化的操作结合在一起。在 MyBatis-Plus 中,ActiveRecord 模式通过实体类直接提供数据库操作的方法,使得操作数据库更加直观和简单。在 ActiveRecord 模式中,实体类充当了数据访问对象,不仅包含了实体的属性,还提供了数据库操作的方法。MyBatis-Plus 的 Model 类是实现 ActiveRecord 模式的关键。以下是 MyBatis-Plus ActiveRecord 模式的基本使用示例:1. 定义实体类:import com.baomidou.mybatisplus.annotation.TableName;import com.baomidou.mybatisplus.extension.activerecord.Model;@TableName("user")public class User extends Model<User> { private Long id; private String name; p...
MyBatis-Plus CRUD接口-mapper 层 选装件
MyBatis-Plus 提供了一系列的选装件(Wrapper),用于增强 Mapper 层的查询和更新操作。这些选装件可以方便地构建复杂的查询条件,提高了灵活性。以下是 MyBatis-Plus 中常用的选装件:1. QueryWrapperQueryWrapper 是用于构建查询条件的选装件,可以通过链式调用的方式构建多条件查询。例如:QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("age", 25) .like("name", "John") .between("create_time", "2022-01-01", "2022-12-31");List<User> userList = userMapper.selectList(queryWrapper);在这个例子中,eq 表示等于,...
MyBatis-Plus CRUD接口-Mapper CRUD 接口
MyBatis-Plus 提供了 BaseMapper 接口,其中包含了一系列的 CRUD(Create, Read, Update, Delete)操作方法。这些方法是 MyBatis-Plus 对 MyBatis 的基础操作的增强和封装。以下是常用的 MyBatis-Plus Mapper 接口方法:1. 插入操作 int insert(T entity): 插入一条记录,返回影响行数。User user = new User();user.setName("John");user.setAge(25);userMapper.insert(user);2. 更新操作 int updateById(T entity): 根据主键更新记录,返回影响行数。User user = new User();user.setId(1L);user.setName("UpdatedName");userMapper.updateById(user);3. 删除操作 int deleteById(Serializable id): 根据主键删除记录,返回影响行...
MyBatis-Plus CRUD接口-Service CRUD 接口
在 MyBatis-Plus 中,除了提供了 BaseMapper 的 CRUD 接口之外,还提供了一系列方便的 Service 接口,用于进一步简化业务层的开发。这些 Service 接口是在 IService 的基础上进行扩展的。以下是常用的 MyBatis-Plus Service 接口及其方法:1. 基础 CRUD 方法在 IService 接口的基础上,MyBatis-Plus 的 Service 接口提供了一些默认实现的 CRUD 方法: boolean save(T entity): 插入一条记录。 boolean saveBatch(Collection<T> entityList): 批量插入记录。 boolean saveOrUpdate(T entity): 插入或更新一条记录,根据主键是否存在判断。 boolean saveOrUpdateBatch(Collection<T> entityList): 批量插入或更新记录,根据主键是否存在判断。 boolean updateById(T entity): 根据主键更新记录。 boolea...
MyBatis-Plus 核心功能-CRUD 接口
MyBatis-Plus 提供了一套简化 CRUD(Create, Read, Update, Delete)操作的接口,使数据库操作更加便捷。这些接口是在 BaseMapper 接口的基础上进行扩展的,以下是 MyBatis-Plus 的 CRUD 接口及其常用方法:1. 插入操作 int insert(T entity): 插入一条记录,返回影响行数。User user = new User();user.setName("John");user.setAge(25);userMapper.insert(user);2. 更新操作 int updateById(T entity): 根据主键更新记录,返回影响行数。User user = new User();user.setId(1L);user.setName("UpdatedName");userMapper.updateById(user);3. 删除操作 int deleteById(Serializable id): 根据主键删除记录,返回影响行数。userMapper.delet...
MyBatis-Plus 核心功能-代码生成器(旧)
MyBatis-Plus 旧版的代码生成器也是一个强大的工具,可以根据数据库表结构自动生成实体类、Mapper 接口、Service 类等文件。以下是使用 MyBatis-Plus 旧版代码生成器的基本步骤:步骤一:引入依赖在你的 Maven 项目中的 pom.xml 文件中添加 MyBatis-Plus 依赖:<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>最新版本</version></dependency>步骤二:配置代码生成器创建一个代码生成器配置类,配置数据库连接信息、生成文件的输出路径、作者信息等。以下是一个简单的配置示例:import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.core.config.GlobalConf...
MyBatis-Plus 核心功能-代码生成器(新)
MyBatis-Plus 提供了强大的代码生成器工具,可以根据数据库表结构自动生成实体类、Mapper 接口、Service 类等文件,提高开发效率。以下是使用 MyBatis-Plus 代码生成器的基本步骤:步骤一:引入依赖在你的 Maven 项目中的 pom.xml 文件中添加 MyBatis-Plus 代码生成器的依赖:<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>最新版本</version></dependency>步骤二:配置代码生成器创建一个代码生成器配置类,配置数据库连接信息、生成文件的输出路径、作者信息等。以下是一个简单的配置示例:import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.gener...
MyBatis-Plus 快速入门-快速测试
进行 MyBatis-Plus 的快速测试通常包括以下几个步骤:创建实体类、Mapper 接口、Service 类,然后编写测试类对数据库操作进行验证。以下是一个简单的示例:1. 创建实体类import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;@TableName("user")public class User { @TableId private Long id; private String name; private Integer age; // Getter 和 Setter 方法省略...}2. 创建 Mapper 接口import com.baomidou.mybatisplus.core.mapper.BaseMapper;public interface UserMapper extends BaseMapper<User> {}3. 创建 Servic...
MyBatis-Plus 快速入门-注解
MyBatis-Plus 提供了一些注解,可以用于实体类和 Mapper 接口,用于更灵活地配置和定制数据库操作。以下是 MyBatis-Plus 常用的注解:实体类注解:1. @TableName: 用于指定实体类对应的数据库表名。 import com.baomidou.mybatisplus.annotation.TableName; @TableName("your_table_name") public class YourEntity { // 类定义... }2. @TableId: 用于标注主键字段,可以指定主键生成策略。 import com.baomidou.mybatisplus.annotation.TableId; public class YourEntity { @TableId private Long id; // 其他字段... }3. @TableField: 用于配置字段和表的映射关系,例如字段名、是否为插入字段、是否为更新字段等。 import ...
MyBatis-Plus 快速入门-配置
MyBatis-Plus 的配置主要包括数据源配置、实体类配置、Mapper 接口扫描配置等。以下是一个简单的 MyBatis-Plus 配置示例:1. 数据源配置在 application.properties 或 application.yml 文件中配置数据源信息:spring.datasource.url=jdbc:mysql://localhost:3306/your_databasespring.datasource.username=your_usernamespring.datasource.password=your_password2. 实体类配置创建与数据库表对应的实体类,并使用 @TableName 注解标注表名,@TableId 标注主键字段:import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;@TableName("your_table_name")public class YourE...
MyBatis-Plus 快速入门-安装
MyBatis-Plus 是一个基于 MyBatis 的增强工具库,不需要额外的安装步骤,而是通过 Maven 或 Gradle 引入相关依赖来集成到你的项目中。以下是具体的步骤:Maven 项目:在你的 Maven 项目中,打开 pom.xml 文件,添加 MyBatis-Plus 的依赖:<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version></dependency>你可以在 Maven 仓库或 MyBatis-Plus 官方网站上找到最新版本号。Gradle 项目:在你的 Gradle 项目中,打开 build.gradle 文件,添加 MyBatis-Plus 的依赖:implementation 'com.baomidou:mybatis-plus-boot-starter:...
MyBatis-Plus 快速入门-快速开始
MyBatis-Plus 的快速入门可以分为以下几个步骤,让你能够快速上手使用:步骤一:引入依赖在你的项目中的 Maven 或 Gradle 文件中,添加 MyBatis-Plus 的依赖:Maven:<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version></dependency>Gradle:implementation 'com.baomidou:mybatis-plus-boot-starter:最新版本'你可以在 Maven 仓库或 MyBatis-Plus 官方网站上找到最新版本号。步骤二:配置数据源在 application.properties 或 application.yml 文件中配置数据库连接信息:spring.datasource.url=jdbc:my...
MyBatis-Plus 快速入门
MyBatis-Plus 是 MyBatis 的增强工具,它简化了 MyBatis 的开发,提供了更便捷的 CRUD 操作和一些其他的增强功能。以下是 MyBatis-Plus 的快速入门步骤:1. 引入 MyBatis-Plus 依赖: 在你的项目中的 pom.xml 文件中添加 MyBatis-Plus 的依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version> </dependency> 你可以在 Maven 仓库或 MyBatis-Plus 官方网站上找到最新版本号。2. 配置数据源: 在 application.properties 或 application.yml 文件中配置数据库连接信息: spring.datasource.ur...
MyBatis 3 日志
在 MyBatis 3 中,你可以配置日志来监视 MyBatis 在运行时的行为。MyBatis 使用 SLF4J(Simple Logging Facade for Java)作为日志的门面,并支持不同的日志实现,如 Log4j、Logback 等。以下是关于 MyBatis 3 日志的基本介绍:配置日志在 MyBatis 中,日志的配置通常是在 mybatis-config.xml 文件中进行的。你可以通过配置 <configuration> 下的 <settings> 元素来配置日志的级别等属性。<configuration> <settings> <!-- 配置日志级别 --> <setting name="logImpl" value="SLF4J"/> </settings> <!-- 其他配置 --></configuration>上述配置将 MyBatis 的日志实现指定为 SLF4J。你还可以选择其他的日...
MyBatis 3 SQL 语句构建器
在 MyBatis 3 中,SQL 语句的构建主要通过 XML 映射文件或注解的方式进行,而不像一些其他的持久层框架那样提供了直接构建 SQL 语句的 API。MyBatis 的主要设计理念是将 SQL 语句与 Java 代码分离,通过 XML 映射文件或注解的方式将 SQL 语句与 Java 方法关联。以下是 MyBatis 中 SQL 语句构建的两种主要方式:1. XML 映射文件在 XML 映射文件中,你可以使用各种动态 SQL 元素,如 <select>、<insert>、<update>、<delete>,以及动态 SQL 元素 <if>、<choose>、<foreach> 等来构建复杂的 SQL 语句。下面是一个简单的例子:<select id="getUserById" parameterType="int" resultType="User"> SELECT * FROM users WHERE id = #{i...
MyBatis 3 Java API-SqlSession
SqlSession 是 MyBatis 中用于执行 SQL 操作的主要接口。它提供了一系列方法,用于执行查询、插入、更新和删除等数据库操作,还提供了事务管理的功能。以下是关于 SqlSession 的基本介绍:创建 SqlSession一般情况下,你可以通过 SqlSessionFactory 的 openSession 方法创建 SqlSession 实例。SqlSession 的创建是相对轻量级的操作,因此通常在每个数据库操作中都会创建一个新的 SqlSession 实例。SqlSession sqlSession = sqlSessionFactory.openSession();查询操作通过 SqlSession,你可以执行查询操作,并获取查询结果。以下是一个简单的查询示例:User user = sqlSession.selectOne("getUserById", 1);在这个例子中,getUserById 是映射文件中定义的查询语句的唯一标识符,1 是传递给查询的参数。插入、更新和删除操作SqlSession 提供了相应的方法来执行插入、更新和删除操...
MyBatis 3 Java API-SqlSessionFactory
SqlSessionFactory 是 MyBatis 中的一个关键接口,它负责创建 SqlSession 实例,允许你与数据库进行交互。通常情况下,一个应用中只需要一个 SqlSessionFactory 实例。创建 SqlSessionFactory在 MyBatis 中,SqlSessionFactory 通常通过 SqlSessionFactoryBuilder 来创建。一旦 SqlSessionFactory 被创建,它就会加载并解析配置文件,初始化整个 MyBatis 环境,包括数据源、事务管理器、映射文件等。InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);在上述例子中,mybatis-config.xml 是 MyBatis 的配置文件,包含了全局配置信息,如数据源、事务管...
MyBatis 3 Java API-SqlSessionFactoryBuilder
SqlSessionFactoryBuilder 是 MyBatis 3 中用于创建 SqlSessionFactory 实例的构建器。它主要负责解析配置文件(通常是 XML 格式的配置文件)并构建相应的 SqlSessionFactory 实例。创建 SqlSessionFactoryBuilder 实例InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory = builder.build(inputStream);在这个例子中: Resources.getResourceAsStream("mybatis-config.xml") 用于加载 MyBatis 的配置文件。 SqlSessionFactoryBuilder() 创建了一个新的 Sq...
MyBatis 3 Java API-主要接口
MyBatis 3 的 Java API 主要包括一些核心接口,它们在整个 MyBatis 的操作过程中起到了关键的作用。以下是 MyBatis 3 Java API 的主要接口:1. SqlSessionFactoryBuilder 作用: 构建 SqlSessionFactory 实例。 示例用法: SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);2. SqlSessionFactory 作用: 创建 SqlSession 实例。 示例用法: SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession();3. SqlSession 作用: 提供数据库操作的主要接口,包括查询、插入、更新和删除等。 示例用法: User use...