大森林的专栏(Jack Wu)

换个心情,呼吸一下新鲜的空气!

IBatisNet(续)---使用心得

8、extends
      继承的属性也非常的有用,有很多SQL的操作的主题都一样,只是,Where子句不同,或Order By的内容不同等等,我们都可以将主体独立出来,作为BASE,然后写不同的条件或排序规则来继承它。如下:
    <select id="SelectEmployees" parameterClass="int" resultMap="SelectResult">
            Select 
                  id,
                  empcode,
                  emppassword,
                  empname,
                  empsex,
                  empage,
                  empmail,
                  empphoneno,
                  description,
                  isadmin,
                  isdelete
            From Employees
        
</select>

    
<!--员工列表-->
    
<select id="EmployeeList" parameterClass="int" resultMap="SelectResult" extends="SelectEmployees">
      Where isdelete='n'
    
</select>

    
<!--员工明细-->
    
<select id="EmployeeDetail" parameterClass="int" resultMap="SelectResult" extends="SelectEmployees">
      Where id=#Id#
    
</select>

    
<!--登录验证-->
    
<select id="Login" parameterClass="int" resultMap="SelectResult" extends="SelectEmployees">
      Where empcode=#EmpCode# and emppassword=#EmpPassword# and isdelete='n'
    
</select>

    
<!--判断员工编号是否重复-->
    
<select id="CheckEmpCode" parameterClass="String" resultMap="SelectResult" extends="SelectEmployees">
      Where empcode=#EmpCode# and isdelete='n'
    
</select>

 

四、Map or IDictionary Type Parameters
      我们还可以使用System.Collection.IDictionary的实例来作为Statement的参数类,最常用的也就是Hashtable了,如下:

<update id="ChangePassword" parameterClass="Hashtable">
      Update Employees
      Set password=#Password#
      Where id=#Id#
</update>

注意:在我们传入的hashtable中必须包括名为Password和Id的两个键,其值的类型必须匹配它们对应的数据库列的类型,否则将会出错。

阅读更多
个人分类: IBatis框架学习
上一篇IBatis.Net学习笔记十--数据库连接处理
下一篇IBatisNet系列-执行存储过程
想对作者说点什么? 我来说一句

ibatisnet使用心得

2011年10月31日 100KB 下载

IBatisNet例子

2008年12月05日 44KB 下载

没有更多推荐了,返回首页

关闭
关闭