首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

数据库操作基类设计一

2012-10-30 
数据库操作基类设计1// DAO基础接口public interface BaseDaoT...............// 数据库操作基类public

数据库操作基类设计1
// DAO基础接口
public interface BaseDao<T>
...............

// 数据库操作基类
public abstract class BaseDaoImpl<T> extends SqlMapClientDaoSupport implements BaseDao<T>
{
    private String entitySimpleClassName;
    public BaseDaoImpl()
    {
        entitySimpleClassName = ((Class<T>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]).getSimpleName();
    }
    public String getSequenceID() // 从数据库获取唯一序列号
    {
        String statementName = entitySimpleClassName + ".getSequence";
        return (String)getSqlMapClientTemplate().queryForObject(statementName);
    }
    public String insert(T t) // 持久化一个domain到数据库中
    {
        String statementName = entitySimpleClassName + ".insert";
        return (String)getSqlMapClientTemplate().insert(statementName, t);
    }
    public void insert(final List<T> ts) // 批量持久化
    {
        final String statementName = entitySimpleClassName + ".insert";
        getSqlMapClientTemplate().execute(new SqlMapClientCallback()
        {
            public Object doInSqlMapClient(SqlMapExecutor executor)
                throws SQLException
            {
                executor.startBatch();
                for (T t : ts)
                {
                    executor.insert(statementName, t);
                }
                executor.executeBatch();
                return null;
            }
        });
    }

热点排行