封装.Net数据访问层---羽量级Hibernate (连载二---查询及其参数)

回我们重点说了【绿茶】怎么样去配置,其实就是讲了在web.config配置文件的重点配置节,最后稍微带了点查询方面的内容。今天我们这一讲,主要来探讨查询和查询主要用到那个类以及带参数的查询,对于参数来说我会讲怎么用【绿茶】的参数配置来简化.net中的参数。

       A.表结构我们依然引用上次的Branch(机构)Depart(部门)这两张表,首先看一下比较简单的BranchService中的查询,主要查询机构表中所有数据:
      

       首先先说明一下对于没有外键的查询,在写SQL语句上和普通写法一致.

       GetEntityList<T>方法有两种重载:

       1(IDataReader reader):通过传递一个读取器完成查询操作

       2(CommandType cmdType, string cmdText, IDbDataParameter[] cmdParams):这个方法通过传递命令的类型、sql语句和参数数组完成查询操作,如没有参数可传递null

      

       B.查询带参数的存储过程,我们通常在.Net中用参数肯定用Parameter参数类,但如果参数很多时那就很麻烦,设置的属性的太多不方便,下面看一下利用【绿茶】的自带的参数生成功能完成参数的赋值和传递。

  

          DbParamHelper类也是【绿茶】中重要的类,他的任务是完成参数的生成和赋值操作,这个类里面方法比较多,各有各的用处而且再用它之前还需配置xml文件方可正确运行。

1.首先说一下参数配置文件,该配置文件是一个独立的配置文件,不是放在web.config中的,如果你是写asp.net,需要把参数配置文件放到网站根目录下面(web.config平行);如果你写的是WinForms的话需要把配置文件放到.exe的地方;

2. 该配置文件名称必须是DbParamsConfig.xml,是一个XML格式的文件,下面请看具体怎么配:

 

                     每一个param配置节就是一张表,tableName属性指向的是真实的表名,每一个col配置节代表的是一张表的一个列,name是列的名称,type是列的数据类型,size是列的长度,precision是列的精度,scale是列的小数位数;其实这个配置文件可以同CodeSmith生成,这样开发的速度会更快。

       3.该类的几个重要方法:
         
GetAllParams(string tableName, object objValue)获取一张表表所有参数第一参是表名就是配置文件中的表名),第二参是给这张表所有参数赋值的值这是一个对象

          GetParamsInName(string tableName, string[] paramNames, params object[] paramValues):获取一张表中指定列名的参数,第一参是表名;第二参是一个string类型的数组,用来指定你要的列名;第三参是给第二参指定的参数赋值的值,记住参数和参数值顺序一致

            GetParamsSpecific(string tableName, object objValue, params string[] colName):获取指定列名的参数,第一参是表名;第二参事传递的参数值(对象类型);第三参是你需要的列,在这里写你需要的列名

      GetParamsExcept(string tableName, object objValue, params string[] colName):获取除了指定的参数的参数列表,第一参是表名;第二参事传递的参数值(对象类型);第三参是你不需要的列,在这里写你不需要的列名

      以上这些方法都是返回IDbDataParameter类型的数组

 

 

北大青鸟-中博www.njaccp.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值