- 博客(90)
- 资源 (7)
- 收藏
- 关注
转载 Spring Transaction详解 - Transaction Propagation模式
相关文档:Spring官方文档,Javadoc相关代码:github在Spring官方文档中只对三种Transaction Propagation模式做了说明:RequiredRequiresNewNested并没有对另外四种做说明:SUPPORTSMANDATORYNOT_SUPPORTEDNEVER
2017-07-27 17:43:20 1762
原创 HttpClient(4.5) post get https 实例
maven:4.4.14.5 org.apache.httpcomponents httpclient ${httpclient.version} org.apache.httpcomponents httpc
2017-07-24 11:37:46 2350
转载 深入浅出Mybatis系列(九)---强大的动态SQL
http://www.cnblogs.com/dongying/p/4092662.html上篇文章《深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap》简单介绍了mybatis的查询,至此,CRUD都已讲完。本文将介绍mybatis强大的动态SQL。那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的
2017-07-04 11:27:22 1679
转载 MySQL用户权限(Host,User,Password)管理(mysql.user)
注:mysql.user表中Host为%的含义 Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,
2017-07-31 16:32:27 13888 1
转载 ExceptionUtils.getFullStackTrace
[java] view plain copy//打印全部异常堆栈 public class ExceptionUtils { public static void main(String[] args) { try { int a=1/0; } catch (Excepti
2017-07-31 15:36:43 3328
转载 【MyBatis学习14】MyBatis和Spring整合
前面十几篇博文总结了mybatis在开发中的相关技术,但在实际中都是和spring整合开发的,所以这里总结一下mybatis和spring的整合方法,并在整合后进行测试。1. 整合的环境 这都是老掉牙的问题了,不管是开发还是整合,首先环境肯定得有,环境嘛,除了Java环境和开发环境外,那就是jar包咯,关于mybatis和spring整合的jar包,我已经上传到下载频道了==>传
2017-07-28 11:43:25 731
原创 MyBatis 二级缓存cache官方解释
Mybatis 官方文档http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#cache缓存MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。MyBatis 3 中的缓存实现的很多改进都已经实现了,使得它更加强大而且易于配置。默认情况下是没有开启缓存的,除了局部的 sessi
2017-07-28 11:38:38 1800
转载 MyBatis 实践 -配置
Configurationmybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下:properties : 属性(文件)加载/配置settings : 全局配置参数typeAliases : 定义类型别名typeHandlers : 类型处理器objectFactory : 对象工厂plugins : 插件environ
2017-07-28 11:33:03 811
转载 Mybatis Cache探究
这里先不讨论第三方的cache集成(有memcache/oscache集成,控制力度跟下面说的一样比较粗,也可以跟spring3的cache做集成, spring3的cache是基于方法的缓存,具体可以在github找一下spring MyBatis Memcached Bootstrap)。 先使用最简单的配置cache,比较粗放: 一,官方手册htt
2017-07-28 11:25:55 1622
转载 【MyBatis学习13】MyBatis中的二级缓存
http://blog.csdn.net/eson_15/article/details/516696081. 二级缓存的原理 前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的。为了更加清楚的描述二级缓存,先来看一个示意图: 从图中可以看出:sqlSess...
2017-07-28 11:23:36 792
转载 【MyBatis学习12】MyBatis中的一级缓存
http://blog.csdn.net/eson_15/article/details/51669021 缓存的作用是减轻数据库的压力,提高数据库的性能的。mybatis中提供了一级缓存和二级缓存,先来看一下两个缓存的示意图: 从图中可以看出:一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMa...
2017-07-28 11:14:11 766
转载 【MyBatis学习11】MyBatis中的延迟加载
1. 什么是延迟加载 举个例子:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 所以延迟加载即先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 我们来对比一下:关联查询:SELECT orders.*, user.us
2017-07-28 11:12:17 691
转载 【MyBatis学习10】高级映射之多对多查询
本文来总结一下mybatis中的多对多映射,从第8节的文章中可以看出,用户表和商品表示多对多关系,它们两的多对多是通过订单项和订单明细这两张表所关联起来的,那么这一节主要来总结一下用户表和商品表之间的多对多映射。 首先在上一节的基础上继续写sql,SELECT orders.*, user.`username`, user.`sex`, user.`address`,
2017-07-28 10:55:08 729
转载 【MyBatis学习09】高级映射之一对多查询
上一篇博文总结了一下一对一的映射,本文主要总结一下一对多的映射,从上一篇文章中的映射关系图中可知,订单项和订单明细是一对多的关系,所以本文主要来查询订单表,然后关联订单明细表,这样就有一对多的问题出来了。 首先还是先写sql语句,在写sql语句的时候遵循两点:查询的主表是哪个? 订单表查询的关联表是哪个? 订单明细表 明确了主表和关联表,下面就可以写sql了,我们
2017-07-28 10:52:06 741
转载 【MyBatis学习08】高级映射之一对一查询
从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一、一对多、多对多查询,这篇先总结一下mybatis中的一对一查询。 为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到的不同的映射,为此,我建立4个表,如下:DROP TABLE IF EXISTS `items`;DROP TABLE IF EXISTS `orders`;DROP TABLE IF
2017-07-28 10:50:21 798
转载 解惑 spring 嵌套事务
解惑 spring 嵌套事务 /** * @author 王政 * @date 2006-11-24 * @note 转载请注明出处 */ 在所有使用 spring 的应用中, 声明式事务管理可能是使用率最高的功能了, 但是, 从我观察到的情况看, 绝大多数人并不能深刻理解事务声明中不同事务传播属性配置的的含义, 让我们来看一下 Trans
2017-07-27 17:48:36 903
转载 spring 嵌套事务(Nested Transaction) 和新建事务测试
查询Nested Transaction细节时,经典例子 serviceA 调用 serviceB,当SeviceB事务传播属性为NESTED时,serviceA只要catch住了Exception就能保证调用serviceB之前的操作提交而不受ServiceB异常的影响,但是如果REQUIRES_NEW时,serviceA和serviceB相对独立,serviceB有异常会不影响
2017-07-27 17:34:34 11673
转载 SPRING 事务控制 (PROPAGATION_NESTED)
在 SPRING 中一共定义了六种事务传播属性PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQ
2017-07-27 16:56:13 14556 2
转载 Linux中iptables设置详细
http://blog.csdn.net/guochunyang/article/details/49865441无论如何,iptables是一个需要特别谨慎设置的东西,万一服务器不在你身边,而你贸然设置导致无法SSH,那就等着被老板骂吧,呵呵。。。以下内容是为了防止这种情况发生而写的,当然很初级,不过一般服务器也够用了:1.首先介绍一下指令和相关配置文件启动指
2017-07-26 17:36:33 821
转载 Linux如何修改SSH端口号
http://www.cnblogs.com/hdk1993/p/6145272.htmlSSH是什么?1SSH 为 Secure Shell由 IETF 的网络工作小组(Network Working Group)所制定;SSH 是建立在应用层和传输层基础上的一种安全协议。SSH传输数据是加密的,可以有效防止传输过程被截取数据保障安全。SSH的
2017-07-26 17:23:14 23261
转载 ssh 远程登陆指定端口
ssh 到指定端口 ssh -p xx user@ip xx 为 端口号 user为用户名 ip为要登陆的ipSSH 原理及远程登录http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.htmlhttp://www.ruanyifeng.com/blog/2011/12/ssh_port_f
2017-07-26 17:21:05 145975 2
转载 关于toString方法的重写工具ToStringBuilder
apache的commons-lang3的工具包里有一个ToStringBuilder类,这样在打日志的时候可以方便的打印出类实例中的各属性的值。具体用法如下:[java] view plain copyimport org.apache.commons.lang3.builder.ToStringBuilder; import
2017-07-26 14:41:17 3545
转载 Load Data使用方法
官网:https://dev.mysql.com/doc/refman/5.7/en/load-data.htmlJava代码 LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name
2017-07-26 14:32:27 33231
转载 MySQL load语句详细介绍
load的语法复制代码代码如下:LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string']
2017-07-26 14:32:23 1035
转载 zxing生成二维码去白边
今天遇到了二维码生成的图片需要切掉白边的情况,查看之前的二维码生成代码,发现有这么一行hints.put(EncodeHintType.MARGIN, 1);感觉应该是设置边距的意思,果断改成hints.put(EncodeHintType.MARGIN, 0);发现其实并不能去掉白边。于是百度找到方案:private static BufferedImage getNor
2017-07-25 17:04:24 13773 3
转载 zxing 生成二维码 边距修复
https://my.oschina.net/u/566591/blog/872770二维码边距修复使用zxing生成二维码时, 某些场景下,即便指定 padding 参数为0,依然有很大的白边,本篇博文主要分析产生这个的原因,以及如何修复这个问题首先抛出一个源码传送门 二维码生成java工具类问题重现写个测试类如下,其中 genQrCode 方法调用zxi
2017-07-25 17:03:22 13801 1
转载 MySql数据库导出csv
MySql数据库导出csv文件命令:mysql> select first_name,last_name,email from account into outfile 'e://output1.csv' fields terminated by ','optionally enclosed by ''lines terminated by '/n';csv文件效果:
2017-07-25 16:44:14 841 1
转载 flickr 的全局主键生成方案
http://blog.csdn.net/zhangxtn/article/details/50183447flickr 的全局主键生成方案类似于京东的数据库设计,我们的用户分库有 Shop_1/2/3/4 … 那么uid怎样生成?现在的做法是在用一张索引表 Shop_share.user_index 取其自增主键,insert_id 便是uid。但缺点是,
2017-07-25 14:51:51 922
转载 Mybatis传递多个参数的解决办法(三种)
第一种方案DAO层的函数方法Public User selectUser(String name,String area);对应的Mapper.xmlselect * from user_user_t where user_name = #{0} and user_area=#{1}其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表d
2017-07-25 12:02:20 23650 5
转载 MyBatis学习07】动态sql
1. 动态sql 动态sql是mybatis中的一个核心,什么是动态sql?动态sql即对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。就拿上一篇博文中对用户的综合查询一例来说:select * from user where user.sex = #{user.sex} and user.username like '%${user.username}%'
2017-07-25 11:37:18 766
转载 【MyBatis学习04】mapper代理方法开发dao
上一篇博文总结了mybatis使用 原始dao的方法存在的一些弊端,我们肯定不会去用它,那么mybatis中该如何开发dao呢?如题所述,这篇博文主要来总结一下使用mapper代理的方法来开发dao的步骤。 使用mapper代理的方法来开发dao时,程序员只需要干两件事即可:需要编写mapper.xml映射文件需要编写mapper接口(相当于dao接口) 从做的工
2017-07-25 11:27:51 781
转载 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章进行转载, 本文版权归《程序员》杂志所有,未经许可不得转载!作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sh
2017-07-25 11:27:50 1201
转载 【MyBatis学习05】SqlMapConfig.xml文件中的配置总结
经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置文件中都有哪些可以配置的东西:配置内容作用用来加载属性文件用来设置全局参数用来设置类型的别名
2017-07-25 11:27:29 1084
转载 数据库分库分表(sharding)系列(四) 多数据源的事务处理
系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。本文原文链接:http://blog.csdn.net/bluishglc/article/deta
2017-07-25 11:27:08 1286
转载 maven-shade-plugin 入门指南
有时候,需要将复杂的项目, 包括各种xml文件属性文件, 类, jar等等打包到一个可以执行的jar包中, 然后用java -jar xxx.jar 来运行项目, 这样简单方便, 特别是在编写一些测试工具时,尤为重要。但是经常发现打包后的项目无法启动, 其中一大类是您项目有问题, 但是这个相对好解决, 毕竟自己的项目可以在windows下的ide中做各种调试,测试都测试好了, 在打包一般程序...
2017-07-24 11:55:57 1307
转载 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
http://blog.csdn.net/bluishglc/article/details/7612811 本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处! 1.XA XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transacti...
2017-07-24 11:51:05 1529
原创 HttpClient BA认证 basic auth 实例
httpclient 4.5httpcore 4.4.1jackson 2.4.4 private static final ObjectMapper objectMapper; static { objectMapper = new ObjectMapper(); //去掉默认的时间戳格式 objectMappe
2017-07-24 11:40:21 3355
转载 Java 加解密技术系列之 DH
http://m.blog.csdn.net/happylee6688/article/details/45242691序上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH。当然,可能有很多人对这种加密算法并不是很熟悉,不过没关系,希望今天这篇文章能帮助你熟悉他。
2017-07-24 11:28:38 954
转载 Java 加解密技术系列之 RSA
http://m.blog.csdn.net/happylee6688/article/details/45218801序距离上一次写博客感觉已经很长时间了,先吐槽一下,这个月以来,公司一直在加班,又是发版、上线,又是新项目太紧,具体的就不多说了,想听我吐槽的小伙伴,可以私信给我(*^__^*) 。上一篇文章,已经把对称加密的算法讲完了。从今天开始,要说
2017-07-24 11:25:35 835
转载 java中RSA加解密的实现
关于加密数据长度和解密数据长度大家可以看一下我前一篇文章内的介绍:关于RSA算法密钥长度/密文长度/明文长度的介绍 public static void main(String[] args) throws Exception { // TODO Auto-generated method stub HashMap map = RSAUtils.getKeys();
2017-07-24 11:21:53 839
Zookeeper资源文件
2017-03-20
Zookeeper基础知识
2017-03-20
Zookeeper初识
2017-03-20
使用exe4j 制作java启动程序的 等候界面
2014-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人