自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

篮球学校

篮球 dota guess

  • 博客(16)
  • 收藏
  • 关注

原创 elasticsearch先实践再理论 五 部分匹配

es如何像sql那样使用like查询,即要查询包含某个词,但搜索只是这个词的一部分先删除my_index,再初始化mapping:{ "mappings": { "address": { "properties": { "postcode": { "type": "k.

2019-01-31 23:42:28 183

原创 elasticsearch先实践再理论 四 查询

精确值查询 Termterm vs matchterm:查询词不做分析,适用于如日期、bool、number、文本类型match:查询词分析,并转化为term查询下图查找结果为空,因为GOOD-NAME在索引时(这里索引是动词,代表插入文档)已经被分词器分词为两个词条good、name可以设置字段为类型为keyword,这样在索引时不会分词,这样就能查询到了:对于精...

2019-01-12 00:29:59 149

原创 elasticsearch先实践再理论 三 查询

之前的查询直接指定id,这里的查询只是输入条件先来一个没有条件的查询:返回的结果很容易理解,hits的返回的文档数组,_source是文档内容,_score是这此query中该文档的得分,得分越高越靠前。若user索引中文档有1w个,都返回吗?当然不是,es默认返回10条,也可以自己控制:{ "from":1, "size":1}上面的结果是查询第...

2019-01-01 22:25:25 127

原创 elasticsearch先实践再理论 二 集群

head插件,提供es可视化,安装参考:https://blog.csdn.net/qq3401247010/article/details/78742524启动es,添加索引:body的settings是什么意思呢?设置分片为3,分片相当于mysql分库,索引是一个抽象,代表了所有分片,那在插入、查找时使用哪些分片呢?hash,公式为:shard = hash(routing) ...

2018-12-27 23:53:50 106

原创 elasticsearch先实践再理论 一 入门

下载:https://www.elastic.co/downloads/elasticsearch解压缩启动(linux为: ./elasticsearch):测试,可通过浏览器、curl、postman1:浏览器只能执行get操作 post、delete、put? 不太行了curl:小巧轻便的http库,dos或者terminal直接输入命令即可发送http请求p...

2018-12-24 23:52:01 143

原创 Mybatis源码阅读9 --- ResultMap-处理返回值

sql语句无非增删改查,对于返回结果,增删改只需知道成功与否,查询就稍稍复杂,我们来看下mybatis如何处理的。在sql的select必须要定义返回resultType或者resultMap,resultType就是一个class对象(HashMap,自定义Java类如City),若返回类型稍稍复杂些就需要ResultMap了,ResultMap的元素:constructor、id、result...

2018-07-24 09:43:42 2925

原创 Mybatis源码阅读8 --- sql语句的一切(2)

继上篇分析了getById,我们继续分析其他sql语句: <select id="getById" resultMap="com.hhg.jerry.dao.CityDao.cityResultMap"> SELECT * FROM city where id = #{id}</select><select id="getByNameAndCoun...

2018-07-11 00:17:49 189

原创 Mybatis源码阅读8 --- sql语句的一切(1)

前几篇主要从外表看mybatis,这次就要拿起手术刀,一点一点细细看。本篇主要把所有sql语句的写法、解析、执行过程进行分析,篇幅会略长,主要有个方面内容:crud及动态sql的使用,sql解析及执行,之前的专题中若和内容核心内容相关性不大则被mark下,不过从此以后,和核心内容无关的也会深入研究下。1:CityMapper.xml的sql配置<?xml version="1.0" enco...

2018-07-06 00:42:58 285

原创 Mybatis源码阅读7 --- 适配你的日志

Java日志有很多,log4j,log4j2,comons-logging等,mybatis为不同日志提供了适配,how?1、定义接口Log,日志框架需对应的实现,如log4j的实现类Log4jImpl2、定义LogFactory作为获取日志的入口LogFactory静态代码块会初始化一个可用的Log实现类:还有一个静态方法userCustomLoggingpublic static synchr...

2018-06-18 22:58:36 188

原创 Mybatis源码阅读6 --- 数据库连接池

mybatis自带数据库连接池功能,当然也支持使用c3p0,druid等,在配置Environment-dataSource-type时,可以配置POOLED和UNPOOLED,分别对应PooledDataSourceFactory和UnPooledDataSourceFactory,前者继承后者,只是构造函数中设置dataSource为PooledDataSource,UnPooledDataS...

2018-06-18 16:44:50 156

原创 Mybatis源码阅读5 --- Environment,我来决定数据库

在mybatis配置文件我们配置了Environment,切换Environment只需修改Environments的中default属性即可,Environment又有transactionManager、dataSource,没错这两就是Environment的一切。Environment的配置: <environments default="development"> ...

2018-06-18 09:09:03 196

原创 Mybatis源码阅读4 --- 只写接口就能调用?MapperProxy

City city = sqlSession.selectOne("com.hhg.jerry.dao.CityDao.getById",1L);Mybatis通过Session执行sql操作,参数为statement(mapper的namespace+select的id)和改statement所需参数,直接用接口调用当然更好:public class App { public stati...

2018-06-16 23:13:35 319

原创 Mybatis源码阅读3 --- 缓存的一切

先说结论:mybatis缓存一般不用,(性能、脏数据等原因),但我们也需要了解它(至少知道如何关闭它),并从中学习一些缓存的设计。再说概念:Mybatis缓存有Session级(一级缓存)和Mapper级(二级缓存),一级缓存不能被Session共享,二级缓存可以。下面详细介绍下Session缓存:配置文件添加settings,并添加如下setting<setting name="local...

2018-06-15 17:04:48 244

原创 Mybatis源码阅读2 --- 流程概要分析

mybatis最简单的使用:InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession ...

2018-06-15 13:22:28 223

原创 Mybatis源码阅读0 --- 概述

mybatis源码是值得的:1、难易中等,太难的看不懂,太简单的学了白学2、使用率高,ormapping不是hibernate就是mybatis3、学习巩固基础知识,mybatis涉及反射、注解、动态代理及设计模式4、读完源码会提高自信心,原来只是使用mybatis,现在可以深究mybatis是如何编码,如何架构来处理复杂的逻辑和灵活的扩展 mybatis源码学习过程:...

2018-06-14 23:34:49 194

原创 Mybatis源码阅读1 --- 让Mybatis运行起来

读源码肯定要debug,先搭好环境。首先把源码下载到本地: https://github.com/mybatis/mybatis-3 可以用git也可以直接下载zip包。下载完后我们需要的是src目录和pom.xml文件,准备完毕 1:创建一个java工程:2:把mybatis源码的org文件(位置:src->main->java)复制到新建工程的main目录下,把my...

2018-06-14 23:05:38 393

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除