最新elasticsearch7(五、结合mybatis、springboot实例)

本文详细介绍了如何在SpringBoot项目中集成Elasticsearch与MyBatis,包括配置DataSource、编写MyBatis脚本、进行单元测试以及解决过程中遇到的多种异常情况。

前言

上一篇介绍Elasticsearch7.5的破解方法,结果csdn现在莫名其妙不支持破解、激活类博文公开,审核没有通过。不过网上也有其他版本的破解方式,新版本也就一些细节区别,这里上传云盘,提取码:qgde。 (如果链接失效,有需要的也可以后面留言)
这节我们接着第三节写下Elasticsearch结合mybatis的实例。maven依赖x-pack-sql-jdbc需要加上,还要记得配置repository,因为中央仓没有发布。

DataSource配置

@Configuration
@MapperScan(basePackages={
   
   "com.yds.datacenter.dao.es"}, sqlSessionFactoryRef="esSqlSessionFactory")
public class ElasticsearchConfig {
   
   

    @Bean(name = "esDataSource")
    public DataSource clickHouseDataSource() {
   
   
        EsDataSource dataSource = new EsDataSource();
        String address = "jdbc:es://192.168.9.226:9200";
        dataSource.setUrl(address);
        Properties connectionProperties = new Properties();
        dataSource.setProperties(connectionProperties);
        return dataSource;
    }

    @Bean(name = "esSqlSessionFactory")
    public SqlSessionFactory clickHouseSqlSessionFactory(@Qualifier("esDataSource") DataSource esDateSource) throws Exception {
   
   
        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(esDateSource);
        sessionFactory.setConfigLocation(new ClassPathResource("mybatis-config.xml"));
        return sessionFactory.getObject();
    }
}

mybatis脚本

    <select id="query" parameterType="java.lang.String" resultType="com.tt.datacenter.utils.es.Person">
        ${
   
   param1}
    </select>

    <select id="count" resultType="java.lang.Long">
        select count(*) from person
    </select>

单元测试

我这里先插入了索引名为Person的测试数据1亿条,然后用sql查询总数,再随机条件查询一组数据,避免缓存影响。可以看到总数有1.34亿多条,我们随机查询的时间是328毫秒。

在这里插入图片描述

springboot

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值