- 浏览: 148146 次
- 性别:
- 来自: 上海
最新评论
-
shuanggui1990:
Spring及其优点 -
wujingyong:
zhuzf 写道 , 我的就是这个问题,解决了,3Q具体是怎 ...
MyBatis 物理分页foreach 参数失效 -
xuqiao2009:
高人高人,佩服void processIntercep ...
MyBatis 物理分页foreach 参数失效 -
atwind:
有.net的实现吗?
.NET和Java中BYTE的区别 -
zhuzf:
, 我的就是这个问题,解决了,3Q
MyBatis 物理分页foreach 参数失效
文章列表
MyBatis 物理分页foreach 参数失效
- 博客分类:
- WEB
场景:MyBatis 物理分页,查询条件中需要用到foreach ,参数失效,查不到结果
分析:把java.sql的debug打开,sql语句正常,参数也正常。debug物理分页代码,setParameters时,boundSql.getAdditionalParameter(propertyName)获取值始终是null,没有拿到参数。但是BoundSql的metaParameters中可以看到相关的参数值。
解决方法:
BoundSql countBS = new BoundSql(configuration, sql, boundSql.getParameterMapping ...
HTTP协议之状态码详解
- 博客分类:
- WEB
转自:http://v5browser.iteye.com/blog/1769789
HTTP 状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。 如果是做AJAX,REST,网络爬虫,机器人等程序。还是需要了解其他状态码。 本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了。
HTTP状态码的学习资料到处都有,但是都是理论上讲解。 本文介绍HTTP协议中的HTTP状态码(HTTP Status Code), 会对大部分的状态码都进行了详细的 ...
领域驱动设计之-柔性设计
- 博客分类:
- 设计
柔性设计就是为了使项目能够随着开发工作的进行快速前进,而不会由于他自己的老化而停滞不前,设计必须要让人们乐于使用,而且易于做出修改。
INTENTION-REVEALLING INTERFACES(释义接口)
类型名称,方法名称,参数名称组合在一起,共同形成了一个INTENTION-REVEALLING INTERFACES(释义接口)。
因此,我们再命名类和操作时要描述他们的效果和目的,而不是表露他们是通过何种方式达到这个目的的,这样可以使客户开发人员不必去理解内部的细节。在创建一个行为之前先为它编写一个测试,这样可以促使你站在客户开发人员的角度去思考它。
SIDE-EFF ...
《框架设计原则》随写
- 博客分类:
- 设计
看了梁飞关于Dubbo设计过程中的经验,虽然大多是对框架方面的设计经验,有些也适用于产品和项目中,摘抄了下来
模块分包原则
复用度
– 包中的类应该有同样的重用可能性。
– 紧密协作的类应该放在一个包。
– 变化应在包内终止,而不传播到其它包。– 发布的粒度和复用度相同。
• 稳定度
– 被依赖的包应该总是比依赖者更稳定。 – 不要让一个稳定的包依赖于不稳定包。 – 单向依赖,无环依赖。
• 抽象度
– 越稳定的包应该越抽象。
– 稳定的包不抽象将导致扩展性极差。
– 抽象的包不稳定将导致其依赖包跟随变化。
API区分命令与查询
– 命令:
• voi ...
oracle中导入导出dmp
- 博客分类:
- 数据库
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执 ...
运行在Linux系统上的Java程序可能会出现"Too many open files"的异常情况,且常见于高并发访问文件系统,多线程网络连接等场景。 程序经常访问的文件、socket在Linux中都是文件file,系统需要记录每个当前访 ...
iBatis的扩展组件主要有TypeHandlerCallback、CacheController、
DataSourceFactory、TransactionConfig。其中TypeHandlerCallback可以实现自定义的类型处理逻辑,
以便处理非标准数据库、驱动程序和(或)数据类型。
场景举例
有如下数据表,请注意字段status的类型及含义:
Sql代码
CREATE
DATABASE
ibatis;
USE test_ibatis;
CREATE
TABLE
person
...
查看oracle数据库的连接数以及用户
- 博客分类:
- 数据库
1
1
、查询oracle的连接数
2
select
count
(
*
)
from
v$session;
3
2
、查询oracle的并发连接数
4
select
count
(
*
)
from
v$session
where
status
=
'
ACTIVE
'
;
场景:大批量新增数据
对比:逐笔提交和批次提交
记录数:2322条记录
测试结果:单笔提交:22938毫秒;批量提交:172毫秒
批量提交相关代码:
connection = dataSource.getConnection();
connection.setAutoCommit(false);
// 组装新增sql
String sql = assembleInsertSql();
statement = connection
...
oracle存储过程中输入数组参数
- 博客分类:
- 数据库
1.声明
CREATE OR REPLACE TYPE USERNAME_ARRAY AS VARRAY(1000) of varchar(100)
注意:这里不能用IS TABLE OF,不然java调用的时候会有问题
2.创建存储过程
CREATE OR REPLACE PROCEDURE sp_test
(
ia_bill_no IN USERNAME_ARRAY
)
。。。
BEGIN
。。。
END;
3.java调用
(1)获取OracleConnection
public OracleConnection getOracleConn ...
oracle 存储过程的基本语法 及注意事项
- 博客分类:
- 数据库
oracle 存储过程的基本语法
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1 ...
CXF jar包冲突之asm
- 博客分类:
- WEB
场景:一个web项目,用了SSH框架,在选择webservice的时候选择了CXF
问题:项目启动时关键报错信息如下:
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
at net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)
at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter ...
Linux netstat命令
- 博客分类:
- 操作系统
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-r 显示路由信息,路由表
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
注:LISTEN和LISTENING的状态只有用-a或者-l才能看到
实用命令实 ...
Java抽象类和接口
- 博客分类:
- 设计
一、从语法定义层面看abstract class和interface
abstract class可以有自己的数据成员,也可以有非abstarct的成员方法,而interface只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊形式的abstract class。
二、从编程层面看abstract class和interface
首先,abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继 ...
用户信息列表,按用户昵称排序
【SQLServer】
SELECT TOP 10 * FROM t_front_um_user_base WHERE c_user_id NOT IN (SELECT TOP 20 c_user_id FROM t_front_um_user_base ORDER BY t_user_nick_name ASC) ORDER BY t_user_nick_name ASC
【PostgreSQL】
SELECT * FROM t_front_um_user_base ORDER BY t_user_nick_name ASC LIMIT 10 O ...