新手 关于通用DAO类的一点疑惑

      首先我们还没有学习ssh或者类似的框架     

      老师给我们介绍了一种做法   就是写一个通用的DAO类   Connection PreparedStatement参数 Sql语句都是由外部传入

      这个DAO类只负责操作CRUD..

      我现在就是不太明白   对于PreparedStatement参数和sql语句这些工作   应该由哪个模块来负责?   写到controller里面?

      还是写一个中间层   完成controller到dao的传递....

将你的DAO类抽象出来,装成一个通用DAO类,免去DAO类重复写connection,preparestatement,resultset.和将preparestatement赋值.只用到OOP思想,将相同的抽象出来成为一个类,然后重复用

action-->service-->dao,sql写在dao中,至于参数是前面传过来的,这只是人家写代码的一种习惯,是别人一目了然,方便维护。

[quote]可是sql写在dao中的话 就不能实现一个dao实现不同表的crud了... 我还是挺迷茫的.. [/quote]
你是说框架吗?表名什么的你可以做成参数啊。你看hibernate里面不是HQL拼接的字符串么?比如拼一个"from tablename where...."