- 博客(68)
- 资源 (2)
- 收藏
- 关注
转载 spring事物配置,声明式事务管理和基于@Transactional注解的使用
事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
2017-10-27 21:19:19
295
转载 深入PHP内核(一)——弱类型变量原理探究
PHP作为一门简单而强大的语言,能够提供很多Web适用的语言特性,而从本期《问底》开始,王帅将从实践出发,带你弄清PHP内核中一些常用的部分,比如这里的“弱类型变量原理”。PHP是一门简单而强大的语言,提供了很多Web适用的语言特性,其中就包括了变量弱类型,在弱类型机制下,你能够给一个变量赋任意类型的值。 PHP的执行是通过Zend Engine(下面简称ZE),ZE是使用C编写,
2017-09-07 11:00:09
468
转载 Mongodb 与sql 语句对照
/创建Mongo连接 var mongo = new Mongo("mongodb://localhost"); mongo.Connect(); //获取一个数据库,如果没有会自动创建一个 var db = mongo.GetDatabase("movieReviews"); //创建一个列表,并为这个列表创建文档 var movies = db.GetCol
2017-08-24 16:02:25
441
转载 Step By Step(Lua目录)
之前已经说了很多,我目前的观点还是那样,在嵌入式脚本中,Lua是最优秀、最高效的,如果您有不同的观点,欢迎指正并讨论,切勿吐槽。这个系列完全来自于《Programming in Lua》,您可以将其视为本人的读书笔记。相比而言,如果您已经掌握了Lua,但仍然不是非常熟练,请相信这个系列一定会给您的查阅以及知识点回顾带来一定程度上的方便,至少我是这样的。然而对于Lua的初学者,还是建议直接看《Pro
2017-08-22 17:05:18
354
转载 MongoDB学习笔记(入门)
一、文档的注意事项:1. 键值对是有序的,如:{ "name" : "stephen", "genda" : "male" } 不等于 { "genda" : "male", "name" : "stephen" }2. 文档信息是大小写敏感的,如:{ "name" : "stephen" } 不等于 { "Name" : "stephen" }3. 文档信息是区分类型的,如:{
2017-08-22 17:03:18
291
转载 MongoDB学习笔记(数据操作)
1. 批量插入: 以数组的方式一次插入多个文档可以在单次TCP请求中完成,避免了多次请求中的额外开销。就数据传输量而言,批量插入的数据中仅包含一份消息头,而多次单条插入则会在每次插入数据时封装消息头数据。对于数据导入而言,我们可以使用mongoimport完成。 2. 数据库清除: > db.users.remove() 以上命令将会清除users集合
2017-08-22 17:02:40
230
转载 MongoDB学习笔记(查询)
1. 基本查询: 构造查询数据。 > db.test.findOne() { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35, "genda" : "male",
2017-08-22 17:02:09
211
转载 MongoDB学习笔记(索引)
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: > db.test.getIndexes() 删除索引的命令是: > db.test.dro
2017-08-22 17:01:02
226
转载 MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)
查询接口对于查询操作,MongoDB 提供了 db.collection.find() 方法。这个方法接收查询条件和映射两个条件并且返回一个指向匹配文档的游标 。你可以使用 limits, skip 和 sort orders 来有选择的修饰查询。下图把 MongoDB 查询操作组成部分进行了高亮显示:The components of a MongoDB find
2017-08-22 16:14:33
475
原创 Myeclipse创建maven web工程及配置
步骤如下:1、New – Project 选择maven project2、点击Next,勾选Creat a sample ….3、Next4、点击finish即可。5、配置为web工程在我们的项目上点击右键,选择properties 并找到 Project Facets点击OK 项目中会多出一个webroot的文件夹,将里面的META-INF,WE
2017-05-27 15:02:40
447
转载 oracle Constraint[类似 constraint用法总结 I]
约束简介约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符合约束,那么DML操作(INSERT、UPDATE、DELETE)将不能成功执行。约束包括NOT NULL、UNIQUE、PRIMARY KEY、FOREING KEY 以及CHECK等五种类型定义约束列级约束:column [CONSTRAINT constraint_name] con
2017-05-11 11:14:24
334
转载 constraint用法总结 II
主要就是增加约束的以下几种约束 、并 一一列举:1.主键约束:要对一个列加主键约束的话,这列就必须要满足的条件就是分空因为主键约束:就是对一个列进行了约束,约束为(非空、不重复)以下是代码 要对一个列加主键,列名为id,表名为emp格式为:alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)例子:a
2017-05-11 11:13:52
241
转载 constraint用法总结 I
Oracle中的约束简单介绍约束 Including Constraints 在数据库中使用约束(constraints)是为了在该数据库中实施所谓的"业务规则"其实就是防止非法信息进入数据库,满足管理员和应用开发人员所定义的规则集. ORACLE使用完整性约束(integrity constraints)防止不合法的数据写入数据库,管理员和开发人员可以定义完整性规则,
2017-05-11 11:13:09
650
转载 分布式 Key-Value 存储系统:Cassandra 入门
Apache Cassandra 是一套开源分布式 Key-Value 存储系统。它最初由 Facebook 开发,用于储存特别大的数据。 Cassandra 不是一个数据库,它是一个混合型的非关系的数据库,类似于 Google 的 BigTable。本文主要从以下五个方面来介绍 Cassandra:Cassandra 的数据模型、安装和配制 Cassandra、常用编程语言使用 Cassandr
2017-05-08 17:44:37
359
转载 切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法:public static void main(String[] args){ List arrayList = new ArrayList(); for (
2017-05-02 17:50:19
277
转载 描述Cookie和Session的作用,区别和各自的应用范围,cookie、Session工作原理
一、cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。 同时我们也看到,由于在服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择。二、会话cookie和持久cookie的区别 如果
2017-04-28 15:14:28
1944
转载 Mysql统计同一字段不同值的个数
按照 Name 的名字分组,对 Value 值为 0 和 1 的个数进行统计select name,sum(case value when 0 then 1 else 0 end) value0,sum(case value when 1 then 1 else 0 end) value1 from new_table group by name;结果:
2017-04-28 15:12:43
4425
转载 TCP/IP、Http、Socket的区别
网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,三者从本质上来说没有可比性,socket则是对 TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要 解决如何包装数据。
2017-04-27 18:24:49
422
转载 堆和栈的区别
堆和栈的区别 (转贴)非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时
2017-04-26 18:43:53
228
转载 PHP高效率写法(详解原因)
1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。 当然了,这个测试方法需要在十万级以上次执行,效果才明显。 其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存
2017-04-26 18:40:36
331
转载 PHP面试笔试细节
1、php隐性的三元操作符(?:)优先级问题:例1:$person = $who or $person = "laruence"; //实际上是等同于: $person = empty($who)? "laruence" : $who; 例2$arr = array(1=>1,3=>3); $i =
2017-04-26 18:39:49
423
转载 https原理:证书传递、验证和数据加密、解密过程解析
写的太好了,就是我一直想找的内容,看了这个对https立马明白多了http://www.cnblogs.com/zhuqil/archive/2012/07/23/2604572.html我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS简介HTTPS其实是有两部分组成:HTTP + S
2017-04-26 18:03:14
291
转载 PHP 性能分析工具XHProf使用
当PHP程序逻辑执行很复杂的时候,可能会带来性能上的问题,为了有效的找到影响性能的代码,推荐大家使用PHP新能分析工具XHProf,该工具能有效的分析每段代码的执行情况,非常好用1、安装配置PHP的扩展XHProf[plain] view plain copy $ wget https://github.com/facebook/xhprof/tarball
2017-04-26 18:01:49
387
转载 深入理解OAuth2.0协议
转自:http://hi.baidu.com/powerthinks/item/f1cb9b3c7a88251c9dc65efa写的太好了,赞一个1. 引言如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题。豪车一般配备两种钥匙:主钥匙和泊车钥匙。当你到酒店后,只需要将泊车钥匙交给服务
2017-04-26 17:58:46
257
转载 Integer和int的种种比较
转自http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html 如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为t
2017-04-26 17:57:04
178
转载 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇)
最近太忙了,一直没时间继续更新博客,今天忙里偷闲继续我的Mybatis学习之旅。在前九篇中,介绍了mybatis的配置以及使用, 那么本篇将走进mybatis的源码,分析mybatis 的执行流程, 好啦,鄙人不喜欢口水话,还是直接上干活吧:1. SqlSessionFactory 与 SqlSession. 通过前面的章节对于mybatis 的介绍及使用,大家都能体会到SqlSessi
2017-04-24 12:07:31
201
转载 深入浅出Mybatis系列(九)---强大的动态SQL
上篇文章《深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap》简单介绍了mybatis的查询,至此,CRUD都已讲完。本文将介绍mybatis强大的动态SQL。那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误。Myb
2017-04-24 12:03:50
204
转载 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap
上篇《深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete》介绍了insert、update、delete的用法,本篇将介绍select、resultMap的用法。select无疑是我们最常用,也是最复杂的,mybatis通过resultMap能帮助我们很好地进行高级映射。下面就开始看看select 以及 resultMap的用法:先看s
2017-04-24 12:02:14
220
转载 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
上篇文章《深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置》简单地给mybatis的配置画上了一个句号。那么从本篇文章开始,将会介绍mapper映射文件的配置, 这是mybatis的核心之一,一定要学好。在mapper文件中,以mapper作为根节点,其下面可以配置的元素节点有: select, insert, update, dele
2017-04-24 11:59:07
217
转载 深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置
上篇文章《深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)》简单看了一下TypeHandler, 本次将结束对于mybatis的配置文件的学习, 本次涉及到剩下没提及到的几个节点的配置:objectFactory、databaseIdProvider、plugins、mappers。那么,接下来,就简单介绍一下这几个配置的作用吧:1、obj
2017-04-24 11:41:47
154
转载 深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)》为大家介绍了mybatis中别名的使用,以及其源码。本篇将为大家介绍TypeHandler, 并简单分析其源码。Mybatis中的TypeHandler是什么? 无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时
2017-04-24 11:37:07
152
转载 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)》 介绍了properties与environments, 本篇继续讲剩下的配置节点之一:typeAliases。 typeAliases节点主要用来设置别名,其实这是挺好用的一个功能, 通过配置别名,我们不用再指定完整的包名,并且还能取别名。 例如: 我们在使
2017-04-24 11:22:16
194
转载 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)》我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根节点下面,可配置properties、typeAliases、plugins、objectFactory、objectWrapperFactory、settings、environments、databaseId
2017-04-24 11:15:33
253
转载 深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(一)---Mybatis入门》, 写了一个Demo简单体现了一下Mybatis的流程。本次,将简单介绍一下Mybatis的配置文件:上次例子中,我们以 SqlSessionFactoryBuilder 去创建 SqlSessionFactory, 那么,我们就先从SqlSessionFactoryBuilder入手, 咱们先看看源码是怎么实现的:Sq
2017-04-24 11:14:30
145
转载 深入浅出Mybatis系列(一)---Mybatis入门
最近两年 springmvc + mybatis 的在这种搭配还是蛮火的,楼主我呢,也从来没真正去接触过mybatis, 趁近日得闲, 就去学习一下mybatis吧。 本次拟根据自己的学习进度,做一次关于mybatis 的一系列教程, 记录自己的学习历程, 同时也给还没接触过mybatis的朋友探一次道。本系列教程拟 由浅(使用)入深(分析mybatis源码实现),故可能需要好长几天才能更新完。好
2017-04-24 11:05:42
198
原创 mysql explain type
explain执行计划中type字段分为以下几种:ALL INDEX RANGE REF EQ_REF CONST,SYSTEM NULL从左至右,性能从最差到最好 type = ALL,全表扫描,MYSQL扫描全表来找到匹配的行(因为film表中rating不是索引)mysql> ex
2017-04-19 18:46:05
963
转载 以交易系统为例,看分布式事务架构的五大演进
一、概述在支付、交易、订单等强一致性系统中,我们需要使用分布式事务来保证各个数据库或各个系统之间的数据一致性。举个简单的例子来描述一下这里数据一致性的含义。程序员小张向女友小丽转账100人民币,转账过程是:先扣除小张100元,再为小丽的账户添加100元。如果在转帐过程中,扣款操作和打款操作要么同时执行,要么同时都不执行,我们就认为转帐过程保证了数据一
2017-04-17 11:18:53
4672
转载 MySQL的Replace into 与Insert into ..... on duplicate key update ...真正的不同之处
今天听同事介绍Oracle到MySQL的数据migration,他用了Insert into ..... on duplicate key update ...,我当时就想怎么不用Replace呢,于是回来就仔细查了下,它们果然还是有区别的,看下面的例子吧:1 Replace into ...1.1 录入原始数据mysql> use test;Database change
2017-04-17 11:13:30
663
原创 MYSQL中常用的强制性操作(例如强制索引)
mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。强制索引 FORCE INDEX复制代码 代码如下:SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIE
2017-04-14 16:09:17
457
转载 SQL 强制指定索引加快查询速度
今天遇到一个查询问题,多加了一个查询参数导致查询超时报黄,经过公司DBA改进,涨姿势了。现在发出来跟大家分享一下!~[html] view plain copySELECT m.* FROM TB_UserSiteGroup u WITH(NOLOCK),Message.dbo.View_Message_8 m WITH(NOLOCK) W
2017-04-14 16:07:54
476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人