第三部分 用例驱动程序设计:
现在我们已经将Spring+Hibernate的架子搭起来了,然后我们向向其中添加一些功能,我们应该怎样向架子中添肉呢?
这个过程是一个正向过程,比如,在前面我们已经向学生的数据库中添加了一条记录,现在我们想通过学号来检索出这个同学,于是,要在测试程序中这样写
您会看到,eclipse会提示您出现错误,划横线那个。然后鼠标点击这个横线,按住ctril+1键,将会出现下面的提示:
选择create method 那项,就在StudentService类中创建这个方法。然后我们修改这个方法如下:
看到仍然有错误提示,还是按住ctrl+1键,继续选择create method,会在StudentDao中创建这个方法。然后我们把修改过的部分都保存,会出现一个错误,如下图:
然后我们继续按住ctrl+1,这回选择add unimplement method那项,然后添加下面代码
package com.guan.springHibernateTest.impl;
import java.util.List;
import org.springframework.stereotype.Component;
import com.guan.springHibernateTest.dao.StudentDao;
import com.guan.springHibernateTest.model.Student;
@Component("studentDao")
public class StudentDaoImpl extends SuperImpl implements StudentDao{
@SuppressWarnings("unchecked")
public Student getStudent(String studentId) {
Student student = new Student();
student.setStudentId(studentId);
List<Student> list = this.getHibernateTemplate().findByExample(student);
/*这个是Hibernate的查询,通过findByExample,您仅需将您要查询的字段赋值到一个变量中,Hibernate会自动根据你赋值的条件做为查询条件为您检索结果,注意返回的是个list,任何查询都会返回list*/
if(list.size() != 0)//因为学号唯一,所有如果存在这个同学,仅需取第一个
return list.get(0);
return null;//否则这个同学不存在
}
}
从上面我们可以看出,Hibernate的查询是如此的简单,不需要sql语句!!
第四部分 总结:
我们先从数据建模入手,写Hibernate并对其配置进行测试,通过Hibernate生成数据库的数据表。在实际应用中Spring是不需要Hibernate的配置文档的,但是在写程序的过程中可以加上这个文档,有利于数据库自动生成,和代码测试。毕竟我们不想每次启动Spring的时候都重新创建数据库!
然后我们介绍了Spring程序架子的搭建,无论您的程序处理多么复杂,框框总是相同或相似的,按照我上面推荐的方式搭框架会给您的编程带来很大方便。
最后就是填肉了,我们采用一种用例驱动的方式,对应网页程序来说,就是界面驱动,都界面需要传入什么数据,需要后台给我传回什么数据,这不是最好的接口定义方式吗!这样我们一个功能一条线的往下写,不混乱也不冲突,很开心吧。但是要附加一句,对应复杂的应用需要进行更好的分析才行!!
最后,给出所需要的jar:
如果您想获得更多的信息,就去看Spring的官方文档吧!!(英文的,当年为啥不好好学英语呢!真是少壮不努力,老大徒伤悲呀!!)