- 浏览: 115310 次
- 性别:
- 来自: 北京
最新评论
-
zhaoljin:
棒棒的
spring3.0事务管理配置 -
nevergiveup_che:
emp%ROWTYPE 楼主,这个emp 是在哪定义的啊,怎么 ...
oracle动态游标实例 -
hala-Gaga:
说得好!给力!谢谢!
spring3.0事务管理配置 -
zyhui98:
写的很好,顶。
spring3.0事务管理配置 -
q821424508:
3Q 今天用到了
java 判断中文字符串长度
文章列表
-- 今天
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS '今天开始';
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') AS '今天结束';
-- 昨天
SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00') AS '昨天开始';
SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 23:59:59') AS '昨天结 ...
Java对byte 的 + - * / >> >>> << & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先将byte转化为int, 再行运算。这一事实可能导致多种问题:
假设我们想进行如下byte运算: 1111 1000 右移1位,再与0000 0001 或运算,得 0111 1101。
直觉写程序如下:
byte b = 0xf8;
byte b2 = b >> 1 | 0x01;
这个写法里有多重错误,现逐个纠正:
1 编译器报错,int无法直接自动转化为byte
为解 ...
java中byte转换int时为何与0xff进行与运算
在剖析该问题前请看如下代码
public static String bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) { ...
RPM命令详解(安装、升级、卸载)
rpm 常用命令
1.安装一个包
# rpm -ivh
2.升级一个包
# rpm -Uvh
3.卸载一个包
# rpm -e
4.安装参数
--force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
5.查询一个包是否被安装
# rpm -q < rpm package name>
6.得到被安装的包的信息
# rpm -qi < rpm package name>
7.列出该包中有哪些文件
# rpm -ql < r ...
java thread dump 日志分析
- 博客分类:
- java
jstack Dump 日志文件中的线程状态
dump 文件里,值得关注的线程状态有:
死锁,Deadlock(重点关注)
执行中,Runnable
等待资源,Waiting on condition(重点关注)
等待获取监视器,Waiting on monitor entry(重点关注)
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:
#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appender
log4j 数据格式
- 博客分类:
- java
参数说明例子
%c
列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间
log4j配置文件参数举例
输出显示媒介
假设当前logger名字空间是"a.b.c"
%c
a.b.c
%c{2}
b.c
%20c
(若名字空间长度小于20,则左边用空格填充)
%-20c
(若名字空间长度小于20,则右边用空格填充)
%.30c
(若名字空间长度超过30,截去多余字符)
%20.30c
(若名字空间长度小于20,则左边用空格填充;若名字空间长度超过30,截去多余字 ...
java和c/c++之间进行socket通信,socket通信是以字节流或者字节包进行的,socket发送方须将数据转换为字节流或者字节包,而接收方则将字节流和字节包再转换回相应的数据类型。如果发送方和接收方都是同种语言,则一般只涉及到字节序的调整。而对于java和c/c++的通信,则情况就要复杂一些,主要是因为java中没有unsigned类型,并且java和c在某些数据类型上的长度不一致。
本文就是针对这种情况,整理了java数据类型和网络字节流或字节包(相当于java的byte数组)之间转换方法。实际上网上这方面的资料不少,但往往不全,甚至有些有错误,于是就花了点时间对ja ...
spring jdbc模板调用存储过程
- 博客分类:
- java
Spring的SimpleJdbcTemplate将存储过程的调用进行了良好的封装,但可惜只能用于jdk1.5的环境,无法再jdk1.4环境下使用,而JdbcTemplate则完全适用于jdk1.4下的环境,下面列出使用JdbcTemplate调用Oracle存储过程的一些方法:
一) 无返回值的存储过程调用
存储过程:
CREATE OR REPLACE PROCEDURE TESTPRO(PARAM1 IN VARCHAR2,PARAM2 IN VARCHAR2) AS
BEGIN
INSERT INTO TESTTABLE (ID,NAME) VALUES ...
public class DataCache {
protected static final HashMap map = new HashMap(); // Cache table
private static final Object lock = new Object();
private DataCache() {} // 防止在外部实例化
public st ...
--创建连接服务器
EXEC sp_addlinkedserver @server=N'ss',--服务名称(自定义)
@srvproduct=N'', --链 OLE DB 数据源的产品名称,sqlserver可以不用填
@provider=N'SQLNCLI', --SQLNCLI 注册访问表示
@datasrc=N'192.168.100.35'; --远程服务访问地址
--登录
EXEC sp_addlinkedsrvlogin 'ss','false',NULL,'sa',' ...
第一种配置方法:基于XML的事务管理
这种方法不需要对原有的业务做任何修改,通过在XML文件中定义需要拦截方法的匹配即可完成配置,要求是,业务处理中的方法的命名要有规律,比如setXxx,xxxUpdate等等。详细配置如下:
Xml代码
第一步: 取消自动validation
validation有一堆,什么xml、jsp、jsf、js等等,我们没有必要全部都去自动校验一下,只是需要的时候才会手工校验一下!
取消方法:windows–>perferences–>myeclipse–>validation除开Manual下面的复选框全部选中之外,其他全部不选手工验证方法:在要验证的文件上,单击鼠标右键–>myeclipse–>run validation
String csql = "INSERT INTO CARFILE(SYSNUM,CARNAME)VALUES(?,?)";
Object[] o = {11,22};
jdbcTemplate.update(csql,o,new int[]{Types.INTEGER,Types.INTEGER}
第一个参数:csql 是sql语句
第二个参数:sql的value值
第三个参数:指定value值在数据库的数据类型,为了是防止空指针数据插入报错
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection c) throws SQLException {
String vmtypesql = "INSERT INTO VMTYPE(VMTYPENAME)VALUES('"+cf.getVbtype()+"')";
...