sequencesqlmapdao.cs

来自「ibatis源码及帮助文档(IBatis源码+xsd+帮助)」· CS 代码 · 共 42 行

CS
42
字号

using System;

using NPetshop.Domain;
using NPetshop.Persistence.Interfaces;
using IBatisNet.DataMapper.Exceptions;

namespace NPetshop.Persistence.MapperDao
{
	/// <summary>
	/// Summary description for SequenceSqlMapDao.
	/// </summary>
	public class SequenceSqlMapDao : BaseSqlMapDao, ISequenceDao
	{

		#region ISequenceDao Members

		/// <summary>
		/// This is a generic sequence ID generator that is based on a database
		/// table called 'SEQUENCE', which contains two columns (NAME, NEXTID).
		/// </summary>
		/// <param name="name">name The name of the sequence.</param>
		/// <returns>The Next ID</returns>
		public int GetNextId(string name)
		{
			Sequence sequence = new Sequence(name, -1);

			sequence = ExecuteQueryForObject("GetSequence", sequence) as Sequence;
			if (sequence == null) 
			{
				throw new DataMapperException("Error: A null sequence was returned from the database (could not get next " + name + " sequence).");
			}
			object parameterObject = new Sequence(name, sequence.NextId + 1);
			ExecuteUpdate("UpdateSequence", parameterObject);

			return sequence.NextId;
		}

		#endregion
	}
}

⌨️ 快捷键说明

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