Hibernate学习笔记1--------一个简单的应用

工具类--------->

/** *用单例模式读取配置文件,并返回SessionFactory和Session */ package com.xx.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public final class HibernateUtil { private HibernateUtil(){}; private static SessionFactory sf; private static Session s; static{ Configuration cfg = new Configuration(); cfg.configure(); sf = cfg.buildSessionFactory(); } public static SessionFactory getSessionFactory() { return sf; } public static Session getSession() { return sf.openSession(); } }

接口--------------------------->

/** * CURD接口 */ package com.xx.Dao; import com.xx.hibernate.User; public interface UserDao { public void saveUser(User user); public User findUserById(int id); public User findUserByName(String name); public void updateUser(User user); public void remove(User user); }

接口实现-------------------->

package com.itcast.Dao.impl; import org.hibernate.Session; import org.hibernate.Transaction; import com.itcast.Dao.UserDao; import com.itcast.hibernate.User; import com.itcast.utils.HibernateUtil; public class UserDaoImpl implements UserDao { public User findUserById(int id) { User user = null; Session s = null; try{ s = HibernateUtil.getSession(); user = (User)s.get(User.class, id); }finally{ if(s != null) s.close(); } return user; } public User findUserByName(String name) { User user = null; Session s = null; try{ s = HibernateUtil.getSession(); user = (User)s.createQuery("from User o where o.name =?") .setParameter(0, name).uniqueResult(); }finally{ if(s != null) s.close(); } return user; } public void remove(User user) { Session s = null; try{ s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); s.delete(user); tx.commit(); }finally{ if(s != null) s.close(); } } public void saveUser(User user) { Session s = null; try{ s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); s.save(user); tx.commit(); }finally{ if(s != null) s.close(); } } public void updateUser(User user) { Session s = null; try{ s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); s.update(user); tx.commit(); }finally{ if(s != null) s.close(); } } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值