读书人

hibernate_兑现ssh2用的hibernate

发布时间: 2012-11-21 08:23:25 作者: rapoo

hibernate_____实现ssh2用的hibernate

1.加hibernate的jar包

2.在模型类中加入注解

代码中的:? @Entity---->import javax.persistence.Entity;
?????????????? @Id----->import javax.persistence.Id;
?????????????? @GeneratedValue--------->import javax.persistence.GeneratedValue;

是加入的

package cn.com.lrs.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class User {private int id;private String username;private String password;@Id@GeneratedValuepublic 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;}}

?

3.在项目加入SessionFactory工具类

package cn.com.lrs.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;}}

?

4.操作---------------------------------------

?

??SessionFactory sf = HibernateUtil.getSessionFactory();??Session s = sf.getCurrentSession();??s.beginTransaction();????long count = (Long)s.createQuery("select count(*) from User u where u.username=:username ")???.setString("username", u.getUsername())//设置数值???.uniqueResult();//返回结果????s.getTransaction().commit();????if (count > 0) {???return true;??}??return false;

?代替掉以下代码

Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/spring", "root", "ocsoft");String sqlQuery = "select count(*) from user where username= ?";PreparedStatement psQuery = conn.prepareStatement(sqlQuery);psQuery.setString(1,u.getUsername());ResultSet rs = psQuery.executeQuery();rs.next();int count = rs.getInt(1);//拿到字段值psQuery.close();conn.close();if (count > 0) {return true;}return false;

?

?

你看看hibernate添加信息多么的简单

SessionFactory sf = HibernateUtil.getSessionFactory();Session s = sf.getCurrentSession();s.beginTransaction();s.save(u);s.getTransaction().commit();

?

?

5.创建Junit测试类(具体看附件)

package cn.com.lrs.service;import static org.junit.Assert.*;import org.junit.Test;public class UserManagerTest {@Testpublic void testExists() {fail("Not yet implemented");}@Testpublic void testAdd() {fail("Not yet implemented");}}

?

读书人网 >编程

热点推荐