使用Spring Boot、MyBatis Plus和Elasticsearch的简单示例

这篇具有很好参考价值的文章主要介绍了使用Spring Boot、MyBatis Plus和Elasticsearch的简单示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Spring Boot、MyBatis Plus和Elasticsearch的简单示例

下面是一个使用Spring Boot、MyBatis Plus和Elasticsearch的简单示例:

  1. 首先,在pom.xml文件中添加以下依赖:
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>6.5.20</version>
</dependency>
  1. 创建一个Spring Boot应用程序:
@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}
  1. 在application.properties文件中配置Elasticsearch:
# Elasticsearch连接配置
spring.data.elasticsearch.cluster-name=elasticsearch-cluster
spring.data.elasticsearch.cluster-nodes=localhost:9200
spring.data.elasticsearch.repositories.enabled=true
spring.data.elasticsearch.repositories.bootstrap-mode=local
spring.data.elasticsearch.repositories.type=elasticsearch
spring.data.elasticsearch.repositories.uri=http://localhost:9200
spring.data.elasticsearch.repositories.settings.number_of_shards=3
spring.data.elasticsearch.repositories.settings.number_of_replicas=1
spring.data.elasticsearch.repositories.settings.index.refresh_interactions=10s
spring.data.elasticsearch.repositories.settings.index.refresh_interval=1s
spring.data.elasticsearch.repositories.settings.index.lifecycle.name=my-index
spring.data.elasticsearch.repositories.settings.index.lifecycle.type=delete
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.alias=rollover
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.max_age=1d
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.actions=create,delete
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.type=delete
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.base=0
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.max_size=10g
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.max_age=1d

#MyBatis配置
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.entity

spring.data.elasticsearch.cluster-name:设置Elasticsearch集群的名称。
spring.data.elasticsearch.cluster-nodes:设置Elasticsearch集群中的节点地址。
spring.data.elasticsearch.repositories.enabled:设置是否启用Elasticsearch数据源。
spring.data.elasticsearch.repositories.bootstrap-mode:设置Elasticsearch数据源的启动方式。
spring.data.elasticsearch.repositories.type:设置Elasticsearch数据源的类型。
spring.data.elasticsearch.repositories.uri:设置Elasticsearch数据源的地址。
spring.data.elasticsearch.repositories.settings.number_of_shards:设置Elasticsearch数据源的分片数。
spring.data.elasticsearch.repositories.settings.number_of_replicas:设置Elasticsearch数据源的副本数。
spring.data.elasticsearch.repositories.settings.index.refresh_interactions:设置Elasticsearch数据源的实时更新时间间隔。
spring.data.elasticsearch.repositories.settings.index.refresh_interval:设置Elasticsearch数据源的更新时间间隔。
spring.data.elasticsearch.repositories.settings.index.lifecycle.name:设置Elasticsearch数据源的生命周期名称。
spring.data.elasticsearch.repositories.settings.index.lifecycle.type:设置Elasticsearch数据源的生命周期类型。
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.alias:设置Elasticsearch数据源的自动轮换别名。
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.max_age:设置Elasticsearch数据源的最大自动轮换年限。
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.actions:设置Elasticsearch数据源的自动轮换动作类型。
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.type:设置Elasticsearch数据源的删除类型。
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.base:设置Elasticsearch数据源的删除基础地址。
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.max_size:设置Elasticsearch数据源的最大删除大小。
spring.data.elasticsearch.repositories.settings.index.lifecycle.rollover.strategy.delete.max_age:设置Elasticsearch数据源的最大删除年限。

  1. 创建一个实体类:
@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String username;

    private String password;

    private Integer age;

    //getter and setter methods
}
  1. 创建一个Mapper接口:
public interface UserMapper {
    User findById(Long id);
    List<User> findAll();
    int deleteById(Long id);
}
  1. 创建一个Mapper实现类:
@Mapper
public interface UserMapperImpl extends BaseMapper<User> {
    User findById(Long id);
    List<User> findAll();
    int deleteById(Long id);
}
  1. 创建一个UserService实现类:
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public User findById(Long id) {
        return userMapper.findById(id);
    }

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

    @Override
    public int deleteById(Long id) {
        return userMapper.deleteById(id);
    }
}
  1. 创建一个UserController实现类:
@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/user/{id}")
    public ResponseEntity<User> getUserById(@PathVariable Long id) {
        User user = userService.findById(id);
        if (user == null) {
            return ResponseEntity.notFound().build();
        }
        return ResponseEntity.ok(user);
    }

    @PostMapping("/user")
    public ResponseEntity<User> createUser(@RequestBody User user) {
        userService.save(user);
        return ResponseEntity.ok(user);
    }

    @DeleteMapping("/user/{id}")
    public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
        userService.deleteById(id);
        return ResponseEntity.ok().build();
    }
}
  1. 创建一个UserServiceImpl实现类:
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public User findById(Long id) {
        return userMapper.findById(id);
    }

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

    @Override
    public int deleteById(Long id) {
        return userMapper.deleteById(id);
    }

    @Override
    public User save(User user) {
        return userMapper.insert(user);
    }

    @Override
    public void update(User user) {
        userMapper.updateByPrimaryKey(user);
    }

    @Override
    public void delete(User user) {
        userMapper.deleteByPrimaryKey(user);
    }
}

以上就是一个简单的Spring Boot、MyBatis Plus和Elasticsearch的示例。在这个示例中,我们创建了一个User实体类,一个UserMapper接口和一个UserService实现类来处理用户的CRUD操作。我们还配置了MyBatis Plus和Elasticsearch,并创建了一个UserController来提供RESTful API来操作用户。文章来源地址https://www.toymoban.com/news/detail-504866.html

到了这里,关于使用Spring Boot、MyBatis Plus和Elasticsearch的简单示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot学习随笔- 集成MyBatis-Plus(一),第一个MP程序(环境搭建、@TableName、@TableId、@TableField示例)

    学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! MyBatis-Plus是一个基于MyBatis的增强工具,旨在简化开发,提高效率。它扩展了MyBatis的功能,提供了许多实用的特性,包括强大的CRUD操作、条件构造器、分页插件、代码生成器等。MyBa

    2024年02月04日
    浏览(46)
  • Spring Boot入门(14):使用Mybatis-Plus轻松实现高效自定义SQL操作!

            在上几期,我们既讲了如何整合Mybatis-Plus进行数据库的增删改查,也讲解了如何使用MP的 Wrapper 构造器,但若是遇到复杂业务逻辑,如多表联查、动态拼接条件等,这些操作往往会让代码变得冗长且难以维护。但是,有了Mybatis-Plus这个优秀的框架,我们可以轻松实现

    2024年02月10日
    浏览(44)
  • 【Java核心知识】spring boot整合Mybatis plus + Phoenix 访问Hbase与使用注意

    为什么Phoenix能让开发者通过SQL访问Hbase而不必使用原生的方式?引用Phoenix官网上的一句话:SQL is just a way of expressing what you want to get not how you want to get it . 即SQL不是一种数据操作技术,而是一种特殊的表达方式。只是表示你需要什么而不是你如何获得。 一个集成了Phoenix的Hb

    2024年02月15日
    浏览(68)
  • Spring Boot入门(14):使用Mybatis-Plus执行自定义SQL | 超级详细,建议收藏

            在上几期,我们既讲了如何整合Mybatis-Plus进行数据库的增删改查,也讲解了如何使用MP的 Wrapper 构造器,但若是遇到复杂业务逻辑,如多表联查、动态拼接条件等,这些操作往往会让代码变得冗长且难以维护。但是,有了Mybatis-Plus这个优秀的框架,我们可以轻松实现

    2024年02月12日
    浏览(35)
  • Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询

    学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! 普通查询 条件构造器查询 【重要】 AbstractWrapper  是 MyBatis Plus 中的一个抽象类,用于构建 SQL 查询条件。定义了泛型  T 、 C  和  Children 。其中, T  表示实体类的类型, C  表示查

    2024年02月04日
    浏览(58)
  • Spring Boot集成MyBatis Plus

    在现代软件开发中,构建高效、可维护的项目是至关重要的。Spring Boot 是一个流行的框架,它简化了Java应用程序的开发过程。而 MyBatis Plus 则是一个强大的持久层框架,通过简化数据库操作,提升了开发效率。本文将介绍如何使用 Spring Boot 结合 MyBatis Plus 构建高效的项目,附

    2024年02月11日
    浏览(44)
  • spring boot Mybatis Plus分页

    网上描述: Mapper Plus自带分页PaginationInterceptor对象,虽然说目前没有什么问题,并且使用简单,但是个人感觉有个弊端:目前个人使用中,想要用Mapper Plus自带的分页功能的话需要在mapper对象中传入一个Page对象才可以实现分页,这样耦合度是不是太高了一点,从web到service到

    2024年02月22日
    浏览(48)
  • spring boot集成mybatis-plus——Mybatis Plus 查询数据(图文讲解)

     更新时间 2023-01-03 16:07:12 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 查询数据库表中的数据。 在前面小节中,我们已经定义好了一个用于测试的用户表, 执行脚本如下: 定义一个名为  User  实体类: 不明白 Mybatis Plus 实体类注解的小伙伴,可参考前面

    2024年02月02日
    浏览(63)
  • Spring Boot 整合MyBatis-Plus

    😀前言 本篇博文是关于Spring Boot 整合MyBatis-Plus的,希望你能够喜欢😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉 💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰

    2024年02月11日
    浏览(58)
  • Spring Boot整合MyBatis-Plus

    引言 在现代软件开发中,我们经常需要处理大量的数据。为了有效地管理这些数据,我们需要使用一些强大的框架。其中,Spring Boot和MyBatis-Plus是两个非常流行的框架。Spring Boot是一个基于Spring的开源Java框架,可以用于创建独立的、生产级别的Spring应用。MyBatis-Plus是一个MyB

    2024年01月19日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包