Hibernate 入门示例
来源:互联网 发布:c语言double怎么用 编辑:程序博客网 时间:2024/05/16 11:55
会员管理
Users.java
public class Users implements Serializable{private Integer id;private String username;private String password;private Date birthday;private String phone;private String address;private String email;private Date regdate;public Integer getId(){return id;}public void setId(Integer 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;}public Date getBirthday(){return birthday;}public void setBirthday(Date birthday){this.birthday = birthday;}public String getPhone(){return phone;}public void setPhone(String phone){this.phone = phone;}public String getAddress(){return address;}public void setAddress(String address){this.address = address;}public String getEmail(){return email;}public void setEmail(String email){this.email = email;}public Date getRegdate(){return regdate;}public void setRegdate(Date regdate){this.regdate = regdate;}}
数据库 users表
User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="cn.com.widemex.users.Users" table="users"><id name="id" column="id" type="integer"> <generator class="increment"/></id> <property name="username" column="username" type="string"/><property name="password" column="password" type="string"/><property name="birthday" column="birthday" type="date"/><property name="phone" column="phone" type="string"/><property name="address" column="address" type="string"/><property name="email" column="email" type="string"/><property name="regdate" column="regdate" type="timestamp"/></class></hibernate-mapping>
hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property><property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property><property name="hibernate.show_sql">true</property><mapping resource="cn/com/widemex/users/User.hbm.xml"/> </session-factory></hibernate-configuration>
MysessionFactory.java
public class MysessionFactory{//定义一个静态字符串变量存放Hibernate的配置文件名private static String CONFIG_FILE_LOCATION="/hibernate.cfg.xml";//定义一个线程局部变量对象private static final ThreadLocal threadLocal = new ThreadLocal();//创建一个静态的Configuration对象private static final Configuration cfg = new Configuration();//定义一个静态的SessionFactory对象private static SessionFactory sessionFactory;public static Session currentSession() throws HibernateException{Session session = (Session)threadLocal.get();if(session==null){if(sessionFactory==null){try{cfg.configure(CONFIG_FILE_LOCATION);sessionFactory=cfg.buildSessionFactory();}catch (Exception e) {System.out.println("【系统错误】创建SessionFactory对象时出错 ,原因是:");e.printStackTrace();}}//通过SessionFactory对象创建Session对象session = sessionFactory.openSession();threadLocal.set(session);}return session;}//关闭一个Session对象public static void closeSession() {Session session = (Session) threadLocal.get();threadLocal.set(null);if(session!=null){session.close();}}//构造方法private MysessionFactory(){}}
MemberDaoImpl.java
public class MemberDaoImpl implements MemberDao{//新增会员/* (non-Javadoc) * @see cn.com.widemex.Dao.MemberDao#addMember(cn.com.widemex.users.Users) */public void addMember(Users user){//创建一个Session对象Session session = MysessionFactory.currentSession();//定义一个Transaction对象Transaction ts = null;try{//创建一个Transaction对象ts=session.beginTransaction();//调用Session对象的save方法将持久化对象保存到数据库中session.save(user);//提交事务ts.commit();}catch (Exception ex) {//回滚事务if(ts!=null)ts.rollback();System.out.println("【系统错误】 在保持持久化对象是出错,原因是:");ex.printStackTrace();}finally{//关闭Session对象MysessionFactory.closeSession();}}//浏览会员/* (non-Javadoc) * @see cn.com.widemex.Dao.MemberDao#allMember() */public List allMember(){List members=new ArrayList();//创建一个Session对象Session session = MysessionFactory.currentSession();//定义一个Transaction对象Transaction ts = null;try{String HQL="select a from users as a order by a.id";//创建一个Query查询对象Query query = session.createQuery(HQL);//创建一个Transactionts=session.beginTransaction();//执行查询,取得查询结果members=query.list();//提交事务ts.commit();if(!Hibernate.isInitialized(members))Hibernate.initialize(members);}catch (Exception ex) {//回滚事务if(ts!=null)ts.rollback();System.out.println("【系统错误】 在保持持久化对象是出错,原因是:");ex.printStackTrace();}finally{//关闭Session对象MysessionFactory.closeSession();}return members;}//删除会员/* (non-Javadoc) * @see cn.com.widemex.Dao.MemberDao#delMember(java.lang.Integer) */public void delMember(Integer id){//创建一个Session对象Session session = MysessionFactory.currentSession();//定义一个Transaction对象Transaction ts = null;try{//创建一个Transaction对象ts=session.beginTransaction();//调用Session对象的load方法装载指定ID的会员对象到内存中Users user = (Users)session.load(Users.class, id);//调用session对象的delete方法将持久化对象删除session.delete(user);//提交事务ts.commit();}catch (Exception ex) {//回滚事务if(ts!=null)ts.rollback();System.out.println("【系统错误】 在保持持久化对象是出错,原因是:");ex.printStackTrace();}finally{//关闭Session对象MysessionFactory.closeSession();}}//装载会员/* (non-Javadoc) * @see cn.com.widemex.Dao.MemberDao#loadMember(java.lang.Integer) */public Users loadMember(Integer id){//创建一个Session对象Session session = MysessionFactory.currentSession();//定义一个Transaction对象Transaction ts = null;Users user = null;try{//创建一个Transaction对象ts=session.beginTransaction();//调用Session对象的load方法装载指定ID的会员对象到内存中user = (Users)session.get(Users.class, id);//提交事务ts.commit();}catch (Exception ex) {//回滚事务if(ts!=null)ts.rollback();System.out.println("【系统错误】 在保持持久化对象是出错,原因是:");ex.printStackTrace();}finally{//关闭Session对象MysessionFactory.closeSession();}return user;}//修改会员/* (non-Javadoc) * @see cn.com.widemex.Dao.MemberDao#modiMember(cn.com.widemex.users.Users) */public void modiMember(Users user){//创建一个Session对象Session session = MysessionFactory.currentSession();//定义一个Transaction对象Transaction ts = null;try{//创建一个Transaction对象ts=session.beginTransaction();//调用Session对象的upadte方法将持久化对象更新到数据库中session.update(user);//提交事务ts.commit();}catch (Exception ex) {//回滚事务if(ts!=null)ts.rollback();System.out.println("【系统错误】 在保持持久化对象是出错,原因是:");ex.printStackTrace();}finally{//关闭Session对象MysessionFactory.closeSession();}}}
- Hibernate 入门示例
- hibernate入门示例
- Hibernate -- 入门示例
- Hibernate二级缓存 ---- 入门示例
- Hibernate入门示例
- Hibernate入门示例
- Hibernate二级缓存 ---- 入门示例
- Hibernate 入门示例
- hibernate(2)---入门示例
- DWR+Spring+Hibernate入门示例
- Hibernate快速入门+简单示例
- 一个简单的Hibernate入门示例
- 【Hibernate】一、Hibernate框架介绍及入门程序示例
- 【Hibernate示例】
- Hibernate示例
- Hibernate示例
- Hibernate示例
- Hibernate示例
- 内存泄漏是新手必然要经历的痛,NSMutableArray的正确使用
- VC ADO 编译问题
- Android Property System | Android属性系统
- java io 整理
- CreateRemoteThread远程注入 使用例子
- Hibernate 入门示例
- 项目管理
- linux系统限制磁盘空间的两种方法
- 安装Fedora 15后需做的25件事情
- 单链表 建立, 查找, 删除, 插入 操作
- SqlServer强制断开数据库连接
- 网络监控软件造成的网站打不开问题
- 定时器任务
- 开发iOS6和iphone5版本与之前版本差异总结