当前位置:编程学习 > JAVA >>

SSH批量插入数据有什么好方法吗

表中如果存在该数据就更新,不存在就插入
数据库使用的是sqlserver,现在插入或者更新1w条数据要2分钟,怎样才能优化速度呢?
跪求大神帮忙啊

存储过程
Create proc DEVICE_TEST
@param1 varchar(80),
@param2 varchar(80),
@param3 datetime
as

IF EXISTS(SELECT * FROM t_Device WHERE FDtuCode = @param1 and FZbCode=@param2)
BEGIN
UPDATE t_Device SET FTime=@param3,FStatus =1 WHERE FDtuCode = @param1 and FZbCode=@param2
END
ELSE
BEGIN
insert INTO t_Device (FDtuCode,FZbCode,FTime,FStatus) Values(@param1,@param2,@param3,1)
END

go




CREATE TABLE
    t_Device
    (
        FID INT NOT NULL IDENTITY,
        FDtuCode NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
        FZbCode NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
        FElevatorID INT,
        FElevatorNo NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
        FElevatorName NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
        FUseUnit INT,
        FTime DATETIME,
        FStatus INT,
        PRIMARY KEY (FID)
    );


SSH中的插入代码
	@Override
@Transactional
public PageBean getUserList(PageBean page, String filter) {
String hql = "from User u";
hql += " where " + filter;
for(int i=0;i<10000;i++){
this.executeSQL("exec DEVICE_TEST '"+i+"','02','2008-10-20 10:09:00'");
}
Query query = this.getSession().createQuery(hql);
return queryPageHql(query, page);
}
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,