首页 > 代码库 > 实习期收获(一)

实习期收获(一)

first:同一个页面的前后台传值,(List<>)

eg:

.cs

{

 protected IList<KDSoft.KDTest.Domain.Edu.Syllabus> syList; //定义一个syList方法,没有实现体

syList = SyllabusService.GetListByClassAndTerm(1, 1);//数据绑定到syList

}

.aspx

{

<%foreach(KDSoft.KDTest.Domain.Edu.Syllabus syli in syList)%>//因为在同一个,页面所以直接获得了syList

//我也在考虑如果把.cs里面的portect改成public那么是不是所有的aspx界面都能够获得这个syList

}

 

second:自定义sql语句到ibatis.net中

1.web--.aspx--.cs  SyllabusService.GetListByClassAndTerm(1, 1);//调用Service中的方法

2.IService--Isyllabus--.cs  IList<Syllabus> GetListByClassAndTerm(int classId, int termId);//定义sql语句实现的接口

2.Service--Syllabus--.cs       

public IList<Syllabus> GetListByClassAndTerm(int classId, int termId)
{
Hashtable ht=new Hashtable();
ht.Add("ClassId",classId);
ht.Add("Term",termId);
return Dao.QueryForList("SelectListByClassIdAndTerm",ht);
}

//实现接口 说明一下Hashtable 因为引用的Ibatis.net的程序集中的QueryForList方法中 的参数只有两个(string,object)

//这里面的string是说明sql语句的作用,object是需要参数的类型

//如果需要的参数只有一个 可以直接定义成 int,string,bool......

//如果需要的参数是多个的话,那么就需要定义一个hashtable来接受这些参数

//个人理解:1。如果仅仅是需要一个参数就相当于ADO.NET中的sqlparameter

//2.如果需要的是多个参数就相当于ADO.NET中的sqlparameter[]

3.persistence--.xml

<statements>
<select id="SelectListByClassIdAndTerm" parameterClass="hashtable" resultMap="SelectResult" >
select * from Edu_syllabus
where
[ClassId]=#ClassId#
and
[Term]=#Term#
</select>
</statements>

//这里面主要写的是sql语句,最核心的地方吧

//注意点【1】整个xml中的数据都要求与Service--Syllabus--.cs 中的实现接口的方法对应

//【2】select 中的id应该对应上文queryforlist(string,object)中的string

//【3】parameterClass应该对应上面的object的具体类型

//【4】sql语句中的参数应该与hashtable中定义的参数一致,区分大小写。

 

实习期收获(一)