文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>简单项目的简单数据库访问层封装(一)

简单项目的简单数据库访问层封装(一)

时间:2011-03-02  来源:菜鸟老了

各个类及作用如下:

类名:DBHelperModel,访问级别:public,其他:非抽象,可继承。

作用:所有数据库对象模型的基类,用于定义部分公共属性。

//构造函数 1 protected DBHelperModel(){}; 
2
3 //初始化赋值
4
5 public DBHelperModel(DbType DbValueType, string ParameterName, object ParameterValue)
6 {
7 this.DbValueType = DbValueType;
8
9 this.ParameterName = ParameterName;
10 this.ParameterValue = ParameterValue;
11 }
//属性 1         /// <summary>
2 ///关键字查询时的属性名
3 /// </summary>
4 public string KeyPropertyName { get; set; }
5
6 /// <summary>
7 ///关键字查询时的数据库列名
8 /// </summary>
9 public string KeyPropertyColumnName
10 {
11 get
12 {
13 if (GetMapToModel().ContainsKey(KeyPropertyName))
14 {
15 string name = GetMapToModel()[KeyPropertyName];
16 return name.Contains('.') ? name.Split(new char[] { '.' })[1] : name;
17 }
18 throw new Exception("Argument not find:" + KeyPropertyColumnName);
19 }
20 }
21
22 /// <summary>
23 /// 关键字查询的键值映射关系
24 /// </summary>
25 public DBHelperModel KeyProperty
26 {
27 get
28 {
29 return GetMapToDB().Find(r => r.ParameterName == KeyPropertyColumnName);
30 }
31 }
32
33 public string TabelName { get; set; }
34 /// <summary>
35 /// 数据库字段类型
36 /// </summary>
37
38 public DbType DbValueType { get; set; }
39 /// <summary>
40 /// 数据库字段值
41 /// </summary>
42 public object ParameterValue { get; set; }
43 /// <summary>
44 /// 数据库字段名
45 /// </summary>
46 public string ParameterName { get; set; }
//方法 1              /// <summary>
2 /// 获取数据库表和字段值的映射关系
3 /// </summary>
4 /// <param name="Model"></param>
5 /// <returns></returns>
6 public virtual List<DBHelperModel> GetMapToDB()
7 {
8 return new List<DBHelperModel>();
9 }
10
11 /// <summary>
12 /// 获取数据库字段和对象属性的映射关系 key为属性 value为对应数据库字段
13 /// </summary>
14 /// <param name="dr"></param>
15 /// <returns></returns>
16 public virtual Dictionary<string, string> GetMapToModel()
17 {
18 return new Dictionary<string, string>();
19 }
//使用方法   public partial class Student : DBHelperModel
{
public Student()
{
TabelName
= "student";
}

//public override string TabelName { get { return tabelName; } }
#region Model字段
private string studentId;
private string name;
#endregion

#region Model属性
/// <summary>
///
/// </summary>
public string StudentId
{
get { return studentId; }
set { studentId = value; }
}
/// <summary>
///
/// </summary>
public string Name
{
get { return name; }
set { name = value; }
}
#endregion

#region override //获取数据库字段和对象属性的映射

public override Dictionary<string, string> GetMapToModel()
{
Dictionary
<string, string> list = new Dictionary<string, string>();
list.Add(
"StudentId", "student.student_id");
list.Add(
"Name", "name");
return list;
}
//获取数据库字段、类型和对应属性值。
public override List<DBHelperModel> GetMapToDB()
{
return new List<DBHelperModel>()
{
new DBHelperModel(DbValueType: DbType.AnsiString, ParameterName: "student_id", ParameterValue: StudentId ),
new DBHelperModel(DbValueType:DbType.AnsiString,ParameterName:"name",ParameterValue:Name )
};
}

#endregion
此时,数据库模型封装完成。
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载