学着调试,学着明白三层结构!

叙述顺序是:先从调用的层次逐层深入进去,再从构造的层次逐层反推回来。

以前取数据是直接写一堆SQL连接,然后根据连接直接用SQL语句得到数据;

现在呢,从WEB层开始,就得学着调Facade(即中间层)层的方法,通过Facade层的方法调用DAOFactory,然后通过DAOFactory里的方法调用IDAO(即数据接口),从IDAO接口进去,就到了DAO,DAO里写的,即是Facade层里方法的实现。而DAO的实现里,包含了对PO的调用及SQL查询语句,PO即是数据库数据的实体形式。此外,DAO里还包含了对DbHelperSQL的调用,而DbHelperSQL里写的,就是不懂三层结构时写的那些SQL连接语句。

如此一来,循环一圈,将数据取出。

而从构建的角度看,顺序是这样的:

先构建数据库相应的PO,调用PO的DAO,接口IDAO及调用接口的DAOFactory;

然后,构建包含SQL连接语句的DbHelperSQL,供DAO调用;

再次,构建中间层Facade,写一个方法来调用DAOFactory;

最后,在WEB层里调用Facade层的方法,再将PO写成一个List的形式,List abc= new List(),将方法取出的值放进这个List里;

若要进行XML串行化,则将此List放进一个Session里,Session["CDE"] = abc;

到时若是需要取出Session,只需List xyz = Session["CDE"] as List;

然后即可将其串行化:

  List xyz = Session["CDE"] as List;
        string file = "D:\\PBC.xml";
        TextWriter writer = new StreamWriter(file);
        XmlSerializer sr = new XmlSerializer(typeof(List));
        sr.Serialize(writer, xyz );
        writer.Close();

请使用浏览器的分享功能分享到微信等