mybatis plus入门

mybatis plus入门

  • MyBatis-Plus 是 MyBatis 的一个增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它继承了 MyBatis 原生的所有特性,并且做了深度的优化和扩展。以下是 MyBatis-Plus 的一些主要特性和功能:
  1. 自动填充 :支持插入和更新时字段的自动填充。
  2. 乐观锁 :通过注解方式实现乐观锁,保证数据操作的安全性。
  3. 逻辑删除 :通过简单配置实现逻辑删除,而不是物理删除数据。
  4. 代码生成器 :提供强大的代码生成器,通过简单的配置就能生成 Mapper、Model、Service、Controller 等代码。
  5. 分页插件 :内置分页插件,简化分页操作。
  6. 条件构造器 :提供了丰富的方法用于构造查询条件,使查询操作更加便捷。
  7. SQL注入器 :通过自定义方法,扩展通用的Mapper接口。
  8. 主键策略 :支持多种数据库主键策略。
  9. 性能分析插件 :提供 SQL 性能分析插件,帮助开发者找出潜在的性能问题。
  10. 多租户 SQL 解析器 :对于多租户系统的支持,可以在运行时动态添加租户信息到 SQL 语句中。
  11. 动态表名 SQL 解析器 :支持动态修改表名,适用于分表分库等场景。
  12. 全局公共字段自动填充 :比如创建时间、修改时间等字段,可以自动管理。
  13. 类型处理器(TypeHandler) :支持 Java 类型和数据库类型之间的自定义映射处理。
  14. 枚举类处理 :支持将枚举类与数据库字段直接映射。

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>
    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-webartifactId>
    dependency>

    
    <dependency>
        <groupId>com.baomidougroupId>
        <artifactId>mybatis-plus-boot-starterartifactId>
        <version>3.x.xversion> 
    dependency>

    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <scope>runtimescope>
    dependency>
dependencies>

3. 配置数据源

application.propertiesapplication.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 {
    @Bean
    public 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 {

    @Autowired
    private 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("[email protected]");

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("[email protected]"); // 新的邮箱地址

int result = userMapper.updateById(user);

条件更新:

UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("name", "张三").set("age", 30); // 将名为张三的用户的年龄改为30

int 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 还提供了许多其他高级特性,如批量操作、分页查询、自动填充等,你可以根据你的项目需求进行深入学习和使用。如果你在使用过程中遇到任何问题,或者需要了解更多高级特性,请随时提问!

你可能感兴趣的:(mybatis,java,spring,boot)