persistencemanager.java

来自「一种快速开发的Java Web架构,doc里有详细的设计文档和开发文档。」· Java 代码 · 共 71 行

JAVA
71
字号
package com.hisoft.cottonbusiness.core.persistence;

import org.apache.log4j.Logger;
import org.springframework.jdbc.core.PreparedStatementCreatorFactory;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;

/**
 * 该类主要负责插入、更新、删除等持久化相关操作,将jdbc进行封装,简化处理
 * 该类不处理查询。
 * 事务处理,用Spring的声明式事务,不用手动处理。
 * 
 * @author chen_zhiwu
 *
 */
public class PersistenceManager extends JdbcDaoSupport
{
	private static final Logger log = Logger.getLogger(PersistenceManager.class);

	/**
	 * 根据sql和sql参数,执行insert、update、delete操作
	 * 
	 * @param sql
	 * @param params
	 * @return TODO
	 */
	public int update(String sql,Object[] params)
	{
		log.debug("现在执行update操作:" + sql);
		int count = getJdbcTemplate().update(sql,params);
		
		return count;
	}	
	
	/**
	 * 根据sql和一个sql参数,执行insert、update、delete操作
	 * 
	 * @param sql
	 * @param param
	 * @return TODO
	 */
	public int update(String sql,Object param)
	{
		log.debug("现在执行update操作:" + sql);
		
		Object[] p = {param};
		int count = getJdbcTemplate().update(sql,p);
		
		return count;
	}

	/**
	 * 执行sql插入操作,
	 * @param sql
	 * @param params
	 * @return
	 */
	public long insert(String sql,Object[] params,int[] types)
	{
		PreparedStatementCreatorFactory psc = new PreparedStatementCreatorFactory(sql,types);
		KeyHolder generatedKeyHolder = new GeneratedKeyHolder();
		
		getJdbcTemplate().update(psc.newPreparedStatementCreator(params),generatedKeyHolder);
		
		
		return generatedKeyHolder.getKey().longValue();
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?