SSH 整合- 4 - add service_servic…
2015-09-09 10:03
134 查看
1. 工程结构
整合- 4 - add service_serviceImpl+dao_daoImpl" TITLE="SSH 整合- 4 - add service_serviceImpl+dao_daoImpl" /> |
2. 流程图
整合- 4 - add service_serviceImpl+dao_daoImpl" TITLE="SSH 整合- 4 - add service_serviceImpl+dao_daoImpl" /> |
3.
UserManager.java
package com.edu.ssh.service; import com.edu.ssh.model.User; public interface UserManager { public abstract boolean exists(User user); public abstract void insertOneUser(User user); } |
4.
UserManagerImpl.java
package com.edu.ssh.service.impl; import com.edu.ssh.dao.UserDAO; import com.edu.ssh.dao.impl.UserDAOImpl; import com.edu.ssh.model.User; import com.edu.ssh.service.UserManager; public class UserManagerImpl implements UserManager { private UserDAO userDAO = new UserDAOImpl(); public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public boolean exists(User user) { return userDAO.checkUserExistsWithName(user.getUsername()); } public void insertOneUser(User user) { userDAO.save(user); } } |
5. UserDAO.java
package com.edu.ssh.dao; import com.edu.ssh.model.User; public interface UserDAO { public void save(User user); public boolean checkUserExistsWithName(String username); } |
6. UserDAOImpl.java
package com.edu.ssh.dao.impl; import org.hibernate.Session; import org.hibernate.SessionFactory; import com.edu.ssh.dao.UserDAO; import com.edu.ssh.model.User; import com.edu.ssh.util.HibernateUtil; public class UserDAOImpl implements UserDAO { @Override public void save(User user) { // save in database SessionFactory sf = HibernateUtil.getSessionFactory(); Session session = sf.getCurrentSession(); session.beginTransaction(); session.save(user); session.beginTransaction().commit(); } @Override public boolean checkUserExistsWithName(String username) { SessionFactory sf = HibernateUtil.getSessionFactory(); Session session = sf.getCurrentSession(); session.beginTransaction(); long count = (Long) session.createQuery( "select count(*) from User u where u.username = :username") .setString("username", username).uniqueResult(); session.beginTransaction().commit(); if (count > 0) return true; return false; } } |
7. UserManagerTest
package com.edu.ssh.service; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import org.junit.Before; import org.junit.Test; import com.edu.ssh.model.User; import com.edu.ssh.service.impl.UserManagerImpl; public class UserManagerTest { private UserManager userManager = null; @Before public void setUp() { userManager = new UserManagerImpl(); } @Test public void testExists() { User user = new User(); user.setUsername("ee"); assertTrue("userManager.exists(user) 失败了!!", userManager.exists(user)); } @Test public void testInsertOneUser() { User user = new User(); user.setUsername("username1"); user.setPassword("password1"); if (userManager.exists(user)) { fail("要添加的用户已经存在!!"); } else { userManager.insertOneUser(user); assertTrue(userManager.exists(user)); } } } |
8. 结果
整合- 4 - add service_serviceImpl+dao_daoImpl" TITLE="SSH 整合- 4 - add service_serviceImpl+dao_daoImpl" /> |
整合- 4 - add service_serviceImpl+dao_daoImpl" TITLE="SSH 整合- 4 - add service_serviceImpl+dao_daoImpl" /> |
整合- 4 - add service_serviceImpl+dao_daoImpl" TITLE="SSH 整合- 4 - add service_serviceImpl+dao_daoImpl" /> |
9. 分析
为什么要面向接口编程:http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599700.html
相关文章推荐
- SSH 整合- 5 - service_serviceImp…
- SSH 整合- 6 - service_serviceImp…
- SSH 整合- 6 - service_serviceImp…
- Mybatis3.2和Spring3.x整合----Myb…
- Mybatis3.2和Spring3.x整合----Myb…
- Mybatis3.2和Spring3.x整合----Myb…
- struts2 简单注解配置实现用户登录
- 牛逼的ajax乱码解决办法。。
- 生成注册码的好网站
- spring security总结 太有用了!!
- spring security+cas 中…
- 我的第一个Extjs combo联动下…
- geoserver 地图显示、 …
- 在线生成按钮,码农们应该收藏
- 闲的蛋疼
- 档案一期总结
- ubuntu14.04窗口菜单和任务栏消失…
- compizconfig 中的方框…
- ubuntu输入正确的密码也无法登陆?
- java多线程实例