mybatis plus入门
- MyBatis-Plus 是 MyBatis 的一个增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它继承了 MyBatis 原生的所有特性,并且做了深度的优化和扩展。以下是 MyBatis-Plus 的一些主要特性和功能:
- 自动填充 :支持插入和更新时字段的自动填充。
- 乐观锁 :通过注解方式实现乐观锁,保证数据操作的安全性。
- 逻辑删除 :通过简单配置实现逻辑删除,而不是物理删除数据。
- 代码生成器 :提供强大的代码生成器,通过简单的配置就能生成 Mapper、Model、Service、Controller 等代码。
- 分页插件 :内置分页插件,简化分页操作。
- 条件构造器 :提供了丰富的方法用于构造查询条件,使查询操作更加便捷。
- SQL注入器 :通过自定义方法,扩展通用的Mapper接口。
- 主键策略 :支持多种数据库主键策略。
- 性能分析插件 :提供 SQL 性能分析插件,帮助开发者找出潜在的性能问题。
- 多租户 SQL 解析器 :对于多租户系统的支持,可以在运行时动态添加租户信息到 SQL 语句中。
- 动态表名 SQL 解析器 :支持动态修改表名,适用于分表分库等场景。
- 全局公共字段自动填充 :比如创建时间、修改时间等字段,可以自动管理。
- 类型处理器(TypeHandler) :支持 Java 类型和数据库类型之间的自定义映射处理。
- 枚举类处理 :支持将枚举类与数据库字段直接映射。
MyBatis-Plus 通过这些功能大幅度提升了开发效率和体验,使得操作数据库变得更加简洁和高效。如果你有任何具体的问题或需要在某个功能上的帮助,请随时告诉我!
springboot使用mybatisplus的教程
1. 创建 Spring Boot 项目
首先,你需要有一个 Spring Boot 项目。你可以使用 Spring Initializr (start.spring.io ) 来快速创建一个项目。选择 Maven 或 Gradle 作为构建工具,并添加 Web、MyBatis-Plus 相关依赖。
2. 添加依赖
在你的 pom.xml
(Maven)或 build.gradle
(Gradle)中添加 MyBatis-Plus 的依赖。以 Maven 为例:
<dependencies><!-- Spring Boot 相关依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- MyBatis-Plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.x.x</version> <!-- 使用最新版本 --></dependency><!-- 数据库驱动,以MySQL为例 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>
</dependencies>
3. 配置数据源
在 application.properties
或 application.yml
中配置你的数据库连接。例如:
spring.datasource.url=jdbc:mysql://localhost:3306/your_db?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
4. 配置 MyBatis-Plus
在 Spring Boot 项目中,MyBatis-Plus 大部分情况下是开箱即用的。你可以通过创建一个配置类来添加一些自定义配置,例如分页插件等。
@Configuration
@MapperScan("com.yourpackage.mapper") // 指定扫描的mapper接口所在的包
public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();}
}
5. 创建实体类
根据你的数据库表创建相应的实体类。例如:
@Data
@TableName("user") // 数据库表名
public class User {@TableId(type = IdType.AUTO)private Long id;private String name;private Integer age;private String email;
}
6. 创建 Mapper 接口
创建一个继承 BaseMapper
的 Mapper 接口:
public interface UserMapper extends BaseMapper<User> {// 这里可以添加一些自定义的方法
}
7. 使用 MyBatis-Plus
现在,你可以在你的服务中注入 Mapper 并使用它:
@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public List<User> findAll() {return userMapper.selectList(null);}
}
8. 运行和测试
编写控制器并测试你的接口,确保一切工作正常。
总结
这是一个简单的入门教程,介绍了如何在 Spring Boot 项目中集成和使用 MyBatis-Plus。MyBatis-Plus 有许多强大的特性,如动态 SQL、逻辑删除、自动填充等,可以根据项目需求进一步探索和使用。如果你遇到任何具体问题或需要更深入的帮助,请随时询问!
MyBatis-Plus增删改查
- MyBatis-Plus 是一个非常强大的 ORM 框架,提供了简洁易用的 API 来处理数据库的增删改查(CRUD)操作。下面是如何使用 MyBatis-Plus 进行基本的 CRUD 操作的详细指南。
1. 插入操作(Create)
** 方法:**
User user = new User();
user.setName("张三");
user.setAge(28);
user.setEmail("zhangsan@example.com");int result = userMapper.insert(user); // userMapper 是继承了 BaseMapper 的接口
- 这里的
userMapper.insert(user)
会将user
对象插入到数据库中。 result
是影响的行数。
2. 查询操作(Read)
** 方法根据主键查询:**
User user = userMapper.selectById(1); // 查询主键为 1 的用户
** 方法查询全部记录:**
List<User> users = userMapper.selectList(null); // 查询所有用户
条件查询:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三"); // 构造条件,等同于 SQL 中的 WHERE name = '张三'List<User> users = userMapper.selectList(queryWrapper);
3. 更新操作(Update)
** 方法更新:**
User user = new User();
user.setId(1); // 需要更新的用户的 ID
user.setEmail("lisi@example.com"); // 新的邮箱地址int result = userMapper.updateById(user);
条件更新:
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("name", "张三").set("age", 30); // 将名为张三的用户的年龄改为30int result = userMapper.update(null, updateWrapper);
4. 删除操作(Delete)
** 方法根据主键删除:**
int result = userMapper.deleteById(1); // 删除主键为 1 的用户
条件删除:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三"); // 删除名为张三的用户int result = userMapper.delete(queryWrapper);
总结
MyBatis-Plus 提供了非常方便的方法来进行 CRUD 操作,让你无需编写繁琐的 SQL 语句。上述示例展示了最基本的用法,MyBatis-Plus 还提供了许多其他高级特性,如批量操作、分页查询、自动填充等,你可以根据你的项目需求进行深入学习和使用。如果你在使用过程中遇到任何问题,或者需要了解更多高级特性,请随时提问!