基于MyBatis-Plus实现学生类增删改查

  • Post author:
  • Post category:其他


MyBatis-Plus是基于MyBatis的一款开源持久层框架,提供了许多方便开发的功能。本文将介绍如何使用MyBatis-Plus实现学生类的增删改查操作。

首先,需要定义学生类的实体和对应的Mapper接口。以学生类的增加操作为例,代码如下:

// 学生类的实体
@Data
public class Student {
    private Long id;
    private String name;
    private Integer age;
    private String gender;
}

// 学生类的Mapper接口
public interface StudentMapper extends BaseMapper<Student> {
}

其中,@Data注解可以使用Lombok插件生成getter、setter和toString等方法。BaseMapper是MyBatis-Plus提供的通用Mapper接口,包含了许多常用的CRUD操作。

接下来,可以使用MyBatis-Plus提供的代码生成器生成对应的Mapper接口和XML文件。代码生成器可以根据数据库表自动生成Java实体和Mapper接口的代码,以及XML文件中的SQL语句。

public class CodeGenerator {
    public static void main(String[] args) {
        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("password");

        // 代码生成器配置
        AutoGenerator autoGenerator = new AutoGenerator();
        autoGenerator.setDataSource(dataSourceConfig);
        autoGenerator.setGlobalConfig(new GlobalConfig().setOutputDir(System.getProperty("user.dir") + "/src/main/java").setAuthor("author"));
        autoGenerator.setPackageInfo(new PackageConfig().setParent("com.example.demo").setMapper("mapper").setEntity("entity"));
        autoGenerator.setTemplateEngine(new FreemarkerTemplateEngine());

        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setEntityLombokModel(true);
        strategyConfig.setRestControllerStyle(true);
        strategyConfig.setControllerMappingHyphenStyle(true);
        autoGenerator.setStrategy(strategyConfig);

        // 执行生成器
        autoGenerator.execute();
    }
}

执行以上代码,即可在指定的路径下生成对应的Java实体和Mapper接口的代码,以及XML文件中的SQL语句。

接下来,可以使用生成的Mapper接口和XML文件进行增删改查操作。以学生类的查询操作为例,代码如下:

@Service
public class StudentService {
    @Autowired
    private StudentMapper studentMapper;

    public List<Student> getStudents() {
        return studentMapper.selectList(null);
    }

    public Student getStudentById(Long id) {
        return studentMapper.selectById(id);
    }

    public void addStudent(Student student) {
        studentMapper.insert(student);
    }

    public void updateStudent(Student student) {
        studentMapper.updateById(student);
    }

    public void deleteStudentById(Long id) {
        studentMapper.deleteById(id);
    }
}

其中,@Service注解表示该类是一个Spring服务组

件,@Autowired注解用于自动注入StudentMapper对象。selectList、selectById、insert、updateById和deleteById方法分别对应了查询、插入、更新和删除操作。在实际应用中,可以根据需要自行定义Mapper接口中的其他方法,以满足业务需求。

以上就是基于MyBatis-Plus实现学生类增删改查的详细步骤。通过MyBatis-Plus的代码生成器,可以快速生成Java实体和Mapper接口的代码,减少手动编写的工作量。同时,MyBatis-Plus提供了许多方便开发的功能,可以大大提高开发效率。



版权声明:本文为yexuejianghan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。