springBoot集成mybatis 转换为 mybatis-plus方式

以下是使用springBoot集成mybatis转换为mybatis-plus的完整攻略。

1. 添加mybatis-plus依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>latestVersion</version>
</dependency>

2. 配置mybatis-plus

在application.properties中添加以下配置:

# 指定mapper文件存放路径
mybatis-plus.mapper-locations=classpath:mapper/*.xml
# 指定实体类包路径
mybatis-plus.type-aliases-package=com.example.demo.entity

3. 替换Mapper

将mybatis的Mapper替换为mybatis-plus的Mapper,方式有两种:

3.1 实现BaseMapper

在Mapper接口中,继承mybatis-plus提供的BaseMapper接口。

public interface UserMapper extends BaseMapper<User>{
}

3.2 继承MybatisSqlSessionFactoryBean

在启动类中,继承MybatisSqlSessionFactoryBean类,并重写getObject()方法。

public class MybatisPlusSqlSessionFactoryBean extends MybatisSqlSessionFactoryBean {

    @Override
    protected SqlSessionFactory buildSqlSessionFactory() throws IOException {
        MybatisConfiguration configuration = new MybatisConfiguration();
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setSqlInjector(new DefaultSqlInjector());
        globalConfig.setMetaObjectHandler(new MyMetaObjectHandler());
        configuration.setGlobalConfig(globalConfig);

        return super.buildSqlSessionFactory();
    }
}

示例一

下面是一个简单的示例,展示了如何在mapper和service中使用mybatis-plus。

1. 实体类

@Data
@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;
}

2. Mapper接口

public interface UserMapper extends BaseMapper<User>{

}

3. Service接口

public interface UserService {
    List<User> selectList();
}

4. Service实现类

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> selectList() {
        return userMapper.selectList(null);
    }
}

示例二

下面是另一个示例,展示了如何使用mybatis-plus进行分页查询。

1. Service接口

public interface UserService {
    List<User> selectPage(Integer pageNum, Integer pageSize);
}

2. Service实现类

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> selectPage(Integer pageNum, Integer pageSize) {
        Page<User> page = new Page<>(pageNum, pageSize);
        return userMapper.selectPage(page, null).getRecords();
    }
}

以上就是使用springBoot集成mybatis转换为mybatis-plus的完整攻略及示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springBoot集成mybatis 转换为 mybatis-plus方式 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java 获取冒号后面的参数(正则)实现代码

    获取冒号后面的参数可以使用正则表达式进行匹配。以下是一个实现代码的完整攻略: 首先,我们需要从文本中匹配出所有的冒号后面的参数,可以使用正则表达式来完成。Java中使用Pattern类和Matcher类来完成正则表达式的匹配。 正则表达式的模式应该为冒号后面的任意字符,可以使用“:.+”表示,其中“:”表示冒号,“.”表示匹配任意字符,“+”表示匹配前面的字…

    Java 2023年6月15日
    00
  • JavaWeb实战之用Servlet+JDBC实现用户登录与注册

    下面是此攻略的详细讲解。 1. 背景 JavaWeb是一种在Web应用程序开发领域广泛使用的技术,可以帮助Web开发人员构建高效,可靠,安全的Web应用程序。其中,Servlet和JDBC是JavaWeb开发的两个核心组件。通过使用Servlet和JDBC,我们可以实现许多常见的Web应用程序,例如用户登录和注册,数据管理,用户反馈等功能。 此文我们将来讲解…

    Java 2023年5月20日
    00
  • php使用curl模拟登录后采集页面的例子

    下面是php使用curl模拟登录后采集页面的攻略。 1. 了解curl模拟登录的基本原理 在使用curl模拟登录之前,需要了解一下基本的原理。curl是一个命令行工具,能够通过HTTP或FTP发送请求并获取资源,同时也可以通过数据请求来模拟登录网站。 登录页面的基本原理是通过向服务器发送用户名和密码进行验证,然后在浏览器中直接跳转到用户主页。使用curl模拟…

    Java 2023年6月15日
    00
  • 线程优先级的作用是什么?

    以下是关于线程优先级的作用的完整使用攻略: 线程优先级的作用 线程优先级是指线程在竞争 CPU 资源时的优先级程优先级越高,就有可能得 CPU 资源,从而更快地执行任务。线程优先级的取值范围是 1~10,其中 1 表示低先级,10 表示高先级。 线程优先级的作用主要有以下几个方面: 1. 提高程序的响应速度和吞吐量 线程优先级可以用来提高程序的响应速度和吞吐…

    Java 2023年5月12日
    00
  • java Date获取年月日时分秒的实现方法

    获取当前时间 Java中的Date类可以获取当前系统时间,包含年月日时分秒等信息。获取当前时间的代码如下: import java.util.Date; public class DateUtils { public static void main(String[] args) { Date now = new Date(); System.out.pri…

    Java 2023年5月20日
    00
  • JAVA中通过Hibernate-Validation进行参数验证

    下面是使用Hibernate-Validation进行参数验证的完整攻略。 1. 安装和配置 首先需要在项目中添加Hibernate-Validation的依赖,Maven坐标为:org.hibernate.validator:hibernate-validator:6.2.0.Final。 然后要在JavaBean类中添加注解以进行验证,例如: publi…

    Java 2023年5月19日
    00
  • Java最常用的6个简单的计算题

    Java最常用的6个简单的计算题 作为Java语言的入门者和初学者,掌握一些最基本的计算题是非常重要的。以下是Java中最常用的6个简单的计算题及其解答攻略。 1. 加法 加法是一种最基本的数学运算,其符号为+。在Java中,可以使用+运算符进行两个数的加法运算。例如: int a = 2; int b = 3; int c = a + b; System.…

    Java 2023年5月26日
    00
  • 解决maven打包失败:程序包xxxx不存在问题

    下面是解决”Maven打包失败:程序包xxxx不存在问题”的完整攻略: 1. 了解Maven依赖管理原理 Maven是一个流行的依赖管理工具,它通过依赖关系构建项目。当您创建一个新项目时,Maven会自动下载所需的依赖项并配置项目相应的环境。 Maven中的任何依赖都是通过坐标来定义的,包括GroupId、ArtifactId和Version三个属性。当Ma…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部