文章目录
前言
上一篇介绍Elasticsearch7.5的破解方法,结果csdn现在莫名其妙不支持破解、激活类博文公开,审核没有通过。不过网上也有其他版本的破解方式,新版本也就一些细节区别,有需要的也可以后面留言。
这节我们接着第三节写下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毫秒。
ES7的结合配置mybatis的配置还是很简单的,使用起来查询是不是很方便。