阿里lindorm与MyBatis Plus集成

2023-12-20 21:03:31

lindorm与MyBatis Plus集成

1 添加依赖:

在项目的pom.xml文件中添加lindorm和MyBatis Plus的依赖。

<dependencies>
   <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>lindorm-jdbc</artifactId>
      <version>1.1.10</version>
   </dependency>
   <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.4.1</version>
   </dependency>
</dependencies>

2 配置数据源

在项目的配置文件中配置Lindorm的数据源

spring:
  datasource:
    url: jdbc:lindorm://host:port/database
    username: username
    password: password
    driver-class-name: com.alibaba.lindorm.jdbc.Driver

3 创建实体类

创建与数据库表对应的实体类,并使用MyBatis Plus的注解进行配置。

@Data
@TableName("user")
public class User {
   @TableId(type = IdType.AUTO)
   private Long id;
   private String username;
   private String password;
}

public interface UserMapper extends BaseMapper<User> {

}


@Configuration
@MapperScan("com.example.mapper")
public class MyBatisConfig {

}

@Service
public class UserService {
   @Autowired
   private UserMapper userMapper;
   
   public void addUser(User user) {
      userMapper.insert(user);
   }
   
   public User getUserById(Long id) {
      return userMapper.selectById(id);
   }
   
   public List<User> getAllUsers() {
      return userMapper.selectList(null);
   }
}


4 完毕

将lindorm与MyBatis Plus集成了,可以通过调用Mapper接口的方法来进行数据库操作,并且可以使用MyBatis Plus提供的更多功能,如条件查询、分页查询等

5 lindorm 数据库支持的查询
  1. 基本查询:支持 SELECT 语句来查询数据。可以使用 WHERE 子句来过滤数据,使用 ORDER BY 子句来排序数据,使用 LIMIT 子句来限制返回的行数。

  2. 聚合查询:支持使用聚合函数(如 SUM、COUNT、AVG、MIN、MAX 等)对数据进行统计操作。可以使用 GROUP BY 子句对结果进行分组。

  3. 联接查询:支持使用 JOIN 子句来连接多个表,通过共享的列来检索相关数据。

  4. 子查询:支持使用子查询作为 SELECT 语句的一部分,用于在查询中嵌套另一个查询。

  5. 窗口函数:支持使用窗口函数来进行分组计算和排序,在 SELECT 语句中使用 OVER 子句来定义窗口。

  6. 全文搜索:支持使用全文搜索的功能,可以使用 MATCH AGAINST 语句进行全文检索。

  7. 分布式查询:支持将查询分布到多个节点上进行并行处理,提高查询性能。

这些是Lindorm数据库支持的一些常见查询操作,根据具体的使用场景和需求,还可以进行更复杂的查询操作。

文章来源:https://blog.csdn.net/qq_41513129/article/details/135115907
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。