SSH 整合- 3 - add - hibernate
来源:互联网 发布:隐写术算法 编辑:程序博客网 时间:2024/06/11 05:31
1. 流程图
![SSH <wbr>整合- <wbr>3 <wbr>- <wbr>add <wbr>- <wbr>hibernate SSH <wbr>整合- <wbr>3 <wbr>- <wbr>add <wbr>- <wbr>hibernate](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
2. 主要文件
3. User.java
package com.edu.ssh.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="tb_user")
public class User {
private int id;
private String username;
private String password;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
4. hibernate.cfg.xml
<?xml version='1.0'encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
<hibernate-configuration>
-->
</hibernate-configuration>
5. HibernateUtil
package com.edu.ssh.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static SessionFactory sf;
static {
sf = new AnnotationConfiguration().configure().buildSessionFactory();
}
public static SessionFactory getSessionFactory() {
return sf;
}
}
6. UserManager.java
package com.edu.ssh.service;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import com.edu.ssh.model.User;
import com.edu.ssh.util.HibernateUtil;
public class UserManager {
public boolean exists(User user) {
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",user.getUsername()).uniqueResult();
session.beginTransaction().commit();
if (count > 0)
return true;
return false;
}
public void insertOneUser(User user) {
// save in database
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.getCurrentSession();
session.beginTransaction();
session.save(user);
session.beginTransaction().commit();
}
}
7. UserManagerTest.java
package com.edu.ssh.service;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import com.edu.ssh.model.User;
public class UserManagerTest {
private UserManager userManager = null;
@Before
public void setUp() {
userManager = new UserManager();
}
@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("username");
user.setPassword("password");
userManager.insertOneUser(user);
}
}
8. 结果
![SSH <wbr>整合- <wbr>3 <wbr>- <wbr>add <wbr>- <wbr>hibernate SSH <wbr>整合- <wbr>3 <wbr>- <wbr>add <wbr>- <wbr>hibernate](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![SSH <wbr>整合- <wbr>3 <wbr>- <wbr>add <wbr>- <wbr>hibernate SSH <wbr>整合- <wbr>3 <wbr>- <wbr>add <wbr>- <wbr>hibernate](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
9. 简单分析
在工程的dao层用hibernate实现,hibernate比起直接使用jdbc简化了很多,要写的代码比起jdbc少了很多很多,如果用jdbc实现,我们必须写很多重复的代码。当然使用jdbc性能比hibernate好很多。hibernate把jdbc封装了。我们只需对对象操作就可以了,不像使用jdbc直接对表结构操作。更接近人的思维。也是ssh整合进来的第一个框架。
更多关于Hibernate教程看看这里:
www.iteye.com/blogs/tag/Hibernate
- SSH 整合- 3 - add - hibernate
- SSH整合- 2- add service layout
- SSH 整合- 4 - add service_servic…
-  
-
- SSH 整合- 5 - service_serviceImp…
- SSH 整合- 6 - service_serviceImp…
- SSH 整合- 6 - service_serviceImp…
- list 的add addall
- SM30: Add custom …
- Attribute view add column
- hdoj acm 1008
- HDOJ 1984 Mispelling4
- 整合 Ecshop 和 Discuz。
- Install ssh for AIX
- ZZULI_SummerPractice(3) HDU 1…
- asm add disk to diskgroup
- How to add environment var…
- MyBatis之ResultMap简介,关联对象…
- SSH整合--1
- SSH整合- 2- add service layout
- CentOS_6安装Oracle_11g_R2手记
- 23种设计模式的形象比喻 (转载)
- SSH 整合- 3 - add - hibernate
- matlab基础学习——向量与矩阵
- Z5S自定义短信铃声
- SSH 整合- 4 - add service_servic…
- 全域hash
- @RequestMapping 用法详解之地址映射
- SSH 整合- 5 - service_serviceImp…
- SSH 整合- 6 - service_serviceImp…
- SSH 整合- 6 - service_serviceImp…