hibernate基本概念及初始配置
2012-08-14 08:51
351 查看
![](http://my.csdn.net/uploads/201208/14/1344905871_8371.png)
![](http://my.csdn.net/uploads/201208/14/1344905878_9463.png)
![](http://my.csdn.net/uploads/201208/14/1344905882_1076.png)
![](http://my.csdn.net/uploads/201208/14/1344905885_5477.png)
![](http://my.csdn.net/uploads/201208/14/1344905889_4538.png)
![](http://my.csdn.net/uploads/201208/14/1344906372_3040.png)
************************
hibernate.cfg.xml
***********************
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property><!-- ///表示连接本机的数据库localhost://3306 --> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">1234</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 数据库方言 --> <property name="hibernate.hbm2ddl.auto">update</property><!-- 让hibernate自动生成ddl --> <property name="hibernate.show_sql">true</property> <mapping resource="blog/hibernate/domain/User.hbm.xml"/> </session-factory> </hibernate-configuration>
************************
User.java
***********************
package blog.hibernate.domain; import java.util.Date; public class User { private int id; private String name; private Date birthday; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
***********************
User.hbm.xml
***********************
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="blog.hibernate.domain"> <class name="User" table="USERS"> <id name="id" column="USER_ID"> <generator class="native"></generator> </id> <property name="name" column="USER_NAME" type="string"></property> <property name="birthday" column="BIRTHDAY" type="timestamp"></property> </class> </hibernate-mapping>
**********************
HibernateUtil.java
**********************
package blog.hibernate; import java.util.Date; import java.util.List; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.criterion.Restrictions; import blog.hibernate.domain.User; public final class HibernateUtil { private static SessionFactory sessionFactory; private HibernateUtil(){} static{ Configuration cfg = new Configuration(); sessionFactory = cfg.configure("hibernate.cfg.xml").buildSessionFactory(); } public static SessionFactory getSessionFactory(){ return sessionFactory; } public static Session getSession(){ return sessionFactory.openSession(); } public static Object get(Class clazz,int Id) throws Exception { Session session = null; Object object = null; try { session = getSession(); object = session.get(clazz, Id); //object = session.load(class, userId); return object; } catch (HibernateException e) { e.printStackTrace(); throw e; }finally{ session.close(); } } public static void add(Object object) throws Exception { Session session = null; Transaction tx = null; try { session = getSession(); tx = session.beginTransaction();// 相当于tx =session.getTransaction();tx.begin(); session.save(object); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } throw e; } finally { if (session != null) { session.close(); } } } public static void update(Object object) throws Exception { Session session = null; Transaction tx = null; try { session = getSession(); tx = session.beginTransaction();// 相当于tx =session.getTransaction();tx.begin(); session.update(object); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } throw e; } finally { if (session != null) { session.close(); } } } public static void delete(Object object) throws Exception { Session session = null; Transaction tx = null; try { session = getSession(); tx = session.beginTransaction();// 相当于tx =session.getTransaction();tx.begin(); session.delete(object); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } throw e; } finally { if (session != null) { session.close(); } } } /** * 用HQL实现 * @param username * @return User */ public static User get(String username){ Session session = null; try { session = getSession(); //1、String hql = "from User as user where user.name = ?";//User 为类 而不是表名 String hql = "from User as user where user.name =:name"; Query query = session.createQuery(hql); //1、query.setString(0, username); query.setString("name", username); User user = (User)query.uniqueResult(); List<User> users = query.list(); /*//用于分页,可以针对不同的数据库 query.setFirstResult(0); query.setMaxResults(10);*/ return user; } catch (HibernateException e) { throw e; } finally { if (session != null) { session.close(); } } } /** * 用Criteria接口实现 * @param username * @return List<User> */ @SuppressWarnings("unchecked") public static List<User> query(){ Session session = null; try { session = getSession(); Criteria criteria = session.createCriteria(User.class); //criteria.add(Restrictions.eq("name",username)); criteria.add(Restrictions.lt("birthday", new Date())); List<User> users = criteria.list(); /*//分页 criteria.setFirstResult(0); criteria.setMaxResults(10);*/ return users; } catch (HibernateException e) { throw e; } finally { if (session != null) { session.close(); } } } }
*************************
Base.java
*************************
package blog.hibernate; import java.util.Date; import blog.hibernate.domain.User; public class Base { /** * @param args */ public static void main(String[] args) { List<User> users = HibernateUtil.query(); for (User user : users) { System.out.println(user.getName()); System.out.println(users.size()); System.out.println("*****************************"); } } }
相关文章推荐
- hibernate基本概念及初始配置
- 框架学习之Hibernate 第一节 安装配置和基本概念
- Hibernate Search基本配置和使用
- Hibernate的基本配置
- hibernate笔记(一)hibernate基本配置
- 配置Linux网络前必知的四个IPv4基本概念
- Elasticsearch基本概念及核心配置文件详解
- Hibernate(一)hibernate基本概念和体系结构
- 第1章 Java基本概念及环境配置——FAQ1.09 什么是JDK?
- 第1章 Java基本概念及环境配置——FAQ1.17 怎样制作鼠标双击就可以运行的Jar文件?
- Hibernate学习记录1 基本概念
- hibernate 基本配置和使用
- Spring Boot + Jpa(Hibernate) 架构基本配置
- 企业网络高级技术 OSPF基本概念及单区域配置
- Hibernate各类概念-如何进行Hibernate的ehcache二级缓存配置
- Java程序员从笨鸟到菜鸟之(七十四)细谈Spring(六)spring之AOP基本概念和配置详解
- SELinux基本概念及基本配置
- Hibernate基本概念与CRUD(增删改查)
- Hibernate总结-----Hibernate简介,基本配置
- SELinux基本概念及基本配置