背景: 在项目学习2的最后,我们建立好了一个Action, 但是Action中的Execute函数还是空的,因为,Action是调用Service,而Service再调用DAO去操作数据库,所以,当下的任务,是写好Service还有DAO。
DAO的建立
A. 在src下建立一个DAO的包,包名叫做:com.mytest.dao 然后再包下建立一个Interface UserDAO,在这个接口类中,我们定义好要对数据库中user表的一些操作方法。 例如: save; remove; findById; findAll; update。
B. 在scr这个路径下,继续建立一个包,这个包名为com.mytest.dao.impl。 此包是对A的一个实例化!!,在这个包中,定义一个UserDAOImplc.class 是对A中Interface的实现类,在建立这个Class时要记得Add Interfaces!
C. 因为这次的开发学习例子很简单,所以采用的Spring对Hibernate的支持,也就是HIbernate Template的方法来写DAOImpl中的函数代码。 所以,UserDAOImpl这个类,要extends HibernateDaoSupport
Service的建立
A. src目录下 建立com.mytest.service的包。 同样,也是new 一个Interface 命名为UserService,在这个里面定义好业务逻辑函数的接口。
B 在scr这个路径下,继续建立一个包,这个包名为com.mytest.service.impl。 此包是对A的一个实例化!!,在这个包中,定义一个UserService.class 是对A中Interface的实现类,在建立这个Class时要记得Add Interfaces。
因为这是个服务层的代码,肯定要去访问DAO层的代码,所以,在这个类中,定义Private UserDAO userDao;然后再对这个userDao进行生成setter getter。
C. 然后,编写在UserService.class中的方法,
例如它的public void deleteUser(User user) {this.userDao.remove(user);} 以此类推,编写完其他方法。
返回到UserSaveAction.java文件中
A. 添加Private UserService service; 然后对其进行setter,getter生成。
B. 在execute函数中 写入代码this.service.save(this.user); renturn SUCCESS;