Spring.net的初次使用(1)--关于Dao类

大家注意修改 其中的日志操作的代码 可以将其注释


我将其中一写代码贴出来 UserDao.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using Ivan.Spring.Model;
using Spring.Data.NHibernate;
namespace Ivan.Spring.Dao
{
    
IUserDao接口

    
public class UserDao : DaoBase, IUserDao
    
{
        
public UserDao()
        
{
            
//
            
// TODO: 在此处添加构造函数逻辑
            
//
        }

        
public override Type GetEntityType()
        
{
            
return typeof(User);
        }

        
public IList GetAllUsers()
        
{
            
try
            
{
                
string query = String.Format("FROM User user ");
                
return HibernateTemplate.Find(query);
                
//return this.HibernateTemplate.FindByNamedQueryAndNamedParam("GetAllAdvicesList",null,null);
            }

            
catch (Exception ex)
            
{
                PrintErrLog(
"GetAllUsers Error!", ex);
                
return null;


            }

            
//return null;
        }

    }

}


IDao.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using Ivan.Spring.Model;
using Spring.Data.NHibernate;

namespace Ivan.Spring.Dao
{
    
/// <summary>
    
/// 实体对象数据访问接口
    
/// </summary>

    public interface IDao
    
{

        
// Methods
        bool DeleteObject(Entity entity);
        IList GetAllObjectsList();
        Type GetEntityType();
        
//string GetTableHead();
        Entity Load(object ID);
        Entity SaveObject(Entity entity);
        
bool UpdateObject(Entity entity);


    }

}


DaoBase.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using Spring.Data.NHibernate;
using Spring.Data.NHibernate.Support;
using Ivan.Spring.Model;
using Ivan.Spring.Config;
namespace Ivan.Spring.Dao
{
    
/// <summary>
    
/// 实体对象数据访问类基类
    
/// </summary>

    public abstract class DaoBase : HibernateDaoSupport, IDao
    
{
        
// Fields
        
//private NamingStrategyCore m_NamingStrategy;

        
// Methods
        public bool DeleteObject(Entity entity)
        
{
            
try
            
{
                
base.HibernateTemplate.Delete(entity);
                
return true;
            }

            
catch (Exception ex)
            
{
                
this.PrintErrLog("", ex);
            }

            
return false;
        }


        
public IList GetAllObjectsList()
        
{
            
try
            
{
                
return base.HibernateTemplate.LoadAll(this.GetEntityType());
            }

            
catch (Exception ex)
            
{
                
this.PrintErrLog("", ex);
            }

            
return new ArrayList();
        }


        
public abstract Type GetEntityType();
        
//public string GetTableHead()
        
//{
        
//    return this.m_NamingStrategy.TableHead;
        
//}

        
public Entity Load(object ID)
        
{
            
try
            
{
                
return (base.HibernateTemplate.Load(this.GetEntityType(), ID) as Entity);
            }

            
catch (Exception ex)
            
{
                
this.PrintErrLog("", ex);
            }

            
return null;
        }


        
public void PrintErrLog(object message)
        
{
            MainConfig.Config.Log.PrintErrLine(message);
        }


        
public void PrintErrLog(string message)
        
{
            MainConfig.Config.Log.PrintErrLine(message);
        }


        
public void PrintErrLog(object message, Exception ex)
        
{
            MainConfig.Config.Log.PrintErrLine(message, ex);
        }


        
public void PrintErrLog(string message, Exception ex)
        
{
            MainConfig.Config.Log.PrintErrLine(message, ex);
        }


        
public void PrintLog(object message)
        
{
            MainConfig.Config.Log.PrintLine(message);
        }


        
public void PrintLog(string message)
        
{
            MainConfig.Config.Log.PrintLine(message);
        }


        
public Entity SaveObject(Entity entity)
        
{
            
try
            
{
                
return (base.HibernateTemplate.Save(entity) as Entity);
            }

            
catch (Exception ex)
            
{
                
this.PrintErrLog("", ex);
            }

            
return null;
        }


        
public bool UpdateObject(Entity entity)
        
{
            
try
            
{
                
base.HibernateTemplate.SaveOrUpdate(entity);
                
return true;
            }

            
catch (Exception ex)
            
{
              
this.PrintErrLog("", ex);
            }

            
return false;
        }


      

    }

}



posted @ 2007-06-01 17:08  迪迪Ivan  阅读(816)  评论(0)    收藏  举报