0712实习日志
今天的内容都是我之前没有接触过的,老师在讲课的过程中会先使用我们之前写程序的方法写,然后在使用架构进行优化修改,比如一个@Autowired的关键字,可以让我们创建变量的时候省下很多事。当然最直观的感受就是在老师的带领下创建完成的项目是一个井井有条的作品。这个项目还是分为几个层次,有util 工具,bean 实体类,dao持久层,service 业务层,controller控制层。
我刚开始准备完成其他功能的时候其实是很晕的,在这么多层里面有这么多不同的文件 ,很多文件都和一个功能有关,但是要准确理清楚变量数据顺序是怎么样的还是很难,只能通过多次查看老师录屏和问同学才能搞懂一点。
首先是bean,放的是实体类。然后是在service层中存放了一个接口,内部有所有用到的方法的声明,然后是一个实现它的类,调用dao层持久层中的方法完成功能的实现。然后是dao,这个地方放了一个接口,存放所有需要实现的功能方法的声明。然后是最重要的控制层,里面基本上是实现了对所有功能方法的控制,在这些方法中能够完成数据传输,切换页面等的控制工作 。还有的就是一些资源文件 ,首先是 mapper文件夹,里面的内容就是我们所需要的sql语句。总结一下就是页面-服务层-持久层-控制层。下面用截图来看,
首先是网页的截图
这里是一个超链接 直接链接到我们需要的用户信息界面。其中findAll.do指的是控制层的方法:
这里使用一个RequestMapping关键字来声明 findAll.do指向这个方法,这个方法的功能是读取数据,创建MV对象,给MV对象传参(也就是给页面传参),跳转页面。
首先第一条是读取数据:读取的是服务层的方法,这里会一层一层的调用方法:
服务层的接口:
服务层的接口实现:
持久层的接口:
然后调用的就是资源 mapper里的文件 :
在这里相当于是实现了dao所需要的sql语句,这个 我查到了一点资料:
在mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程。
当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动
帮你找到对应要执行的SQL语句,如下:
假设定义了IArticeDAO接口
public interface IArticleDAO
{
List
}
对于映射文件如下:
SELECT t.* FROM T_article t WHERE t.flag = ‘1’ ORDER BY t.createtime DESC
请注意接口中的方法与映射文件中的SQL语句的ID一一对应 。
则在代码中可以直接使用IArticeDAO面向接口编程而不需要再编写实现类。
就是这样了 ,然后 只要弄清楚变量就可以很清楚的了解ssm项目的结构了。