- 浏览: 175578 次
- 性别:
- 来自: 重庆
最新评论
-
2047699523:
java图片工具类源代码下载:http://www.zuida ...
java实现图片的打印 -
34176470:
Exception in thread "main& ...
java打印Excel -
lionios:
请问为什么一定要有PrintService service = ...
java实现图片的打印 -
javawang2012:
如果是java web树就好了
java自动生成目录树
今天突然感觉到自己学的东西,都快忘完了,而且可能以后会用到,所以看了看自己以前写的东西,回忆一下,若以后用到上手快
一接口
import java.util.List;
import tmc.domail.Favor;
import tmc.domail.Nation;
import tmc.domail.User;
public interface IUserService {
public User login(String name,String pwd);
public void create(User user);
public void del(int id);
public User findUserById(int id);
public List<User> findUsers();
public List<User> findUsers(int pageNo,int maxNo);
public void update(User user);
public List<Nation> nations();
public List<Favor> favors();
public Nation findNativeById(int id);
public void createUserFavor(int uid,Integer[] fid);
}
二:加载hibernate文件
package tmc.util;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link http://hibernate.org/42.html }.
*/
public class HibernateSessionFactory {
/**
* Location of hibernate.cfg.xml file.
* Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file.
* The default classpath location of the hibernate config file is
* in the default package. Use #setConfigFile() to update
* the location of the configuration file for the current session.
*/
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static Configuration configuration = new Configuration();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
private HibernateSessionFactory() {
}
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}
return session;
}
/**
* Rebuild hibernate session factory
*
*/
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* return session factory
*
*/
public static org.hibernate.SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* return session factory
*
* session factory will be rebuilded in the next call
*/
public static void setConfigFile(String configFile) {
HibernateSessionFactory.configFile = configFile;
sessionFactory = null;
}
/**
* return hibernate configuration
*
*/
public static Configuration getConfiguration() {
return configuration;
}
}
三:执行相应的数据库操作
package tmc.util;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import tmc.domail.Favor;
import tmc.domail.Nation;
import tmc.domail.User;
import tmc.domail.UserFavor;
public class UserServiceImp implements IUserService{
/**
* 添加用户
*/
public void create(User user) {
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
session.save(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 删除用户
*/
public void del(int id) {
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
User user = (User)session.get(User.class,id);
session.delete(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 根据id查看用户信息
*/
public User findUserById(int id) {
Session session = null;
User user = null;
try{
session = HibernateSessionFactory.getSession();
user = (User)session.get(User.class,id);
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return user;
}
/**
* 查看所有的用户信息
*/
public List<User> findUsers() {
Session session = null;
List<User> user = null;
try{
session = HibernateSessionFactory.getSession();
String hql = "from User";
Query query = session.createQuery(hql);
user = query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return user;
}
/**
* 分页显示信息
*/
public List<User> findUsers(int pageNo,int maxNo) {
Session session = null;
List<User> user = null;
try{
session = HibernateSessionFactory.getSession();
String hql = "from User";
Query query = session.createQuery(hql);
user =query.setFirstResult(pageNo).setMaxResults(maxNo).list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return user;
}
/**
* 用户登录验证
*/
public User login(String username, String password) {
Session session = null;
try {
session = HibernateSessionFactory.getSession();
User users = (User)session.createQuery("from tmc.domail.User u where u.username = :name and u.password = :pwd")
.setString("name", username)
.setString("pwd", password)
.uniqueResult();
return users;
} catch (HibernateException e) {
e.printStackTrace();
return null;
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 修改用户信息
*/
public void update(User user) {
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
user = (User)session.get(User.class, user.getId());
session.update(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 查看所有的民族
*/
public List<Nation> nations(){
Session session = null;
List<Nation> nation = null;
try{
session = HibernateSessionFactory.getSession();
String hql ="from Nation";
Query query = session.createQuery(hql);
nation = query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return nation;
}
/**
* 查询出所有的爱好
*/
public List<Favor> favors(){
Session session = null;
List<Favor> favor = null;
try{
session = HibernateSessionFactory.getSession();
String hql = "from Favor";
Query query = session.createQuery(hql);
favor = query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return favor;
}
/**
* 创建三张表的对应关系,即用户表,爱好表,和中间表
* 本来是多对多的关系,变成了两张多对一的关系
* 用户表--》中间表
* 中间表--》爱好表
* @param uid
* @param fid
*/
public void createUserFavor(int uid,Integer[] fid){
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
User user = (User)session.get(User.class,uid);
for(int i=0;i<fid.length;i++){
Favor fa = (Favor)session.get(Favor.class, fid[i]);
UserFavor uf = new UserFavor();
uf.setUser(user);
uf.setFavors(fa);
session.save(uf);
}
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
public Nation findNativeById(int id) {
Session session = null;
//Transaction tx = null;
Nation nation = null;
try{
session = HibernateSessionFactory.getSession();
nation = (Nation)session.get(Nation.class,id);
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return nation;
}
}
一接口
import java.util.List;
import tmc.domail.Favor;
import tmc.domail.Nation;
import tmc.domail.User;
public interface IUserService {
public User login(String name,String pwd);
public void create(User user);
public void del(int id);
public User findUserById(int id);
public List<User> findUsers();
public List<User> findUsers(int pageNo,int maxNo);
public void update(User user);
public List<Nation> nations();
public List<Favor> favors();
public Nation findNativeById(int id);
public void createUserFavor(int uid,Integer[] fid);
}
二:加载hibernate文件
package tmc.util;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link http://hibernate.org/42.html }.
*/
public class HibernateSessionFactory {
/**
* Location of hibernate.cfg.xml file.
* Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file.
* The default classpath location of the hibernate config file is
* in the default package. Use #setConfigFile() to update
* the location of the configuration file for the current session.
*/
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static Configuration configuration = new Configuration();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
private HibernateSessionFactory() {
}
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}
return session;
}
/**
* Rebuild hibernate session factory
*
*/
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* return session factory
*
*/
public static org.hibernate.SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* return session factory
*
* session factory will be rebuilded in the next call
*/
public static void setConfigFile(String configFile) {
HibernateSessionFactory.configFile = configFile;
sessionFactory = null;
}
/**
* return hibernate configuration
*
*/
public static Configuration getConfiguration() {
return configuration;
}
}
三:执行相应的数据库操作
package tmc.util;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import tmc.domail.Favor;
import tmc.domail.Nation;
import tmc.domail.User;
import tmc.domail.UserFavor;
public class UserServiceImp implements IUserService{
/**
* 添加用户
*/
public void create(User user) {
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
session.save(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 删除用户
*/
public void del(int id) {
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
User user = (User)session.get(User.class,id);
session.delete(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 根据id查看用户信息
*/
public User findUserById(int id) {
Session session = null;
User user = null;
try{
session = HibernateSessionFactory.getSession();
user = (User)session.get(User.class,id);
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return user;
}
/**
* 查看所有的用户信息
*/
public List<User> findUsers() {
Session session = null;
List<User> user = null;
try{
session = HibernateSessionFactory.getSession();
String hql = "from User";
Query query = session.createQuery(hql);
user = query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return user;
}
/**
* 分页显示信息
*/
public List<User> findUsers(int pageNo,int maxNo) {
Session session = null;
List<User> user = null;
try{
session = HibernateSessionFactory.getSession();
String hql = "from User";
Query query = session.createQuery(hql);
user =query.setFirstResult(pageNo).setMaxResults(maxNo).list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return user;
}
/**
* 用户登录验证
*/
public User login(String username, String password) {
Session session = null;
try {
session = HibernateSessionFactory.getSession();
User users = (User)session.createQuery("from tmc.domail.User u where u.username = :name and u.password = :pwd")
.setString("name", username)
.setString("pwd", password)
.uniqueResult();
return users;
} catch (HibernateException e) {
e.printStackTrace();
return null;
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 修改用户信息
*/
public void update(User user) {
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
user = (User)session.get(User.class, user.getId());
session.update(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
/**
* 查看所有的民族
*/
public List<Nation> nations(){
Session session = null;
List<Nation> nation = null;
try{
session = HibernateSessionFactory.getSession();
String hql ="from Nation";
Query query = session.createQuery(hql);
nation = query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return nation;
}
/**
* 查询出所有的爱好
*/
public List<Favor> favors(){
Session session = null;
List<Favor> favor = null;
try{
session = HibernateSessionFactory.getSession();
String hql = "from Favor";
Query query = session.createQuery(hql);
favor = query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return favor;
}
/**
* 创建三张表的对应关系,即用户表,爱好表,和中间表
* 本来是多对多的关系,变成了两张多对一的关系
* 用户表--》中间表
* 中间表--》爱好表
* @param uid
* @param fid
*/
public void createUserFavor(int uid,Integer[] fid){
Session session = null;
Transaction tx = null;
try{
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
User user = (User)session.get(User.class,uid);
for(int i=0;i<fid.length;i++){
Favor fa = (Favor)session.get(Favor.class, fid[i]);
UserFavor uf = new UserFavor();
uf.setUser(user);
uf.setFavors(fa);
session.save(uf);
}
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
public Nation findNativeById(int id) {
Session session = null;
//Transaction tx = null;
Nation nation = null;
try{
session = HibernateSessionFactory.getSession();
nation = (Nation)session.get(Nation.class,id);
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
return nation;
}
}
发表评论
-
OpenBravo 在eclipse下项目建立
2012-09-28 11:12 1100OpenBravo 在eclipse下项目建立 介绍 Open ... -
Spring 3.0 基于Annotation 的依赖注入实现详解
2012-04-13 13:36 821今天在网上看到有关spri ... -
java定时操作的三种方式
2012-04-12 10:40 10441)java.util.Timer 这个方法应该是最常用的,不 ... -
把数据存在磁盘中
2011-10-18 11:08 1121一:数据封转成集合,保存在磁盘的临时文件中 /** * 写 ... -
java程序创建导入,导出,创建数据库
2011-08-23 15:45 2801在做项目的时候,往往会遇到数据库创建,备份,还原等功能,jav ... -
java自动生成目录树
2011-07-29 19:41 7550今天写了一天的目录树 ... -
java过滤图片
2011-07-17 13:23 2313有时候我们再写项目的时候需要对读取或保存文件进行过滤,便于安全 ... -
java实现Excel和图片的打印预览
2011-07-09 18:00 9069今天忙了一天,终于把打印预览的功能给实现了,因为昨天写了两个打 ... -
java打印Excel
2011-07-09 14:25 4310首先先下载jcom.jar和jcom.dll文件,把dll文件 ... -
java实现图片的打印
2011-07-08 17:40 18137打印图片,支持打印gif,jpg,png等格式图片的 pack ... -
刷新Jtable
2011-06-30 16:40 3033以前在做GUI开发的时候,往往会碰到Jtable的数据不能刷新 ... -
自定义画图
2011-06-29 15:43 1104近来在做绘图程序,对自定义绘图很模糊,一直想了很久,因为在项目 ... -
Tomcat环境变量配置
2011-06-17 10:39 17371.===> 进入bin目录下,双击startup.ba ... -
一个简单的工资支付系统
2011-06-13 15:13 1207帮同学做了一个工资支付系统,感觉功能还可以,基本上达到了要求, ... -
sqlserver驱动jar包
2011-04-30 12:18 1454近来在网上找了了sqlserver的驱动jar包感觉到很难,弄 ... -
文件下载
2011-04-29 11:44 936在android开发中,会经常用的文件下载的功能,比如有时候我 ... -
android简单的乘法运算
2011-04-27 09:44 1780最近在自学android,自己在学习的时候,做了一个简单的乘法 ... -
Android_SDK与Eclipse最新版开发环境搭建
2011-03-13 16:32 801android的安装步骤收集 -
java垃圾回收机制详解
2011-02-07 12:24 776今天在看java基础的时候 ... -
hibernate对数据库的操作
2011-01-16 21:14 1147以前听起hibernate总感觉是一个很奇怪的东西,不知道是用 ...
相关推荐
**hibernate+spring复习大纲** 在Java Web开发领域,Hibernate和Spring是两个至关重要的框架。Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,而Spring则是一个全面的企业级应用框架,提供了依赖...
全面讲解hibernate,缓存,配置, 以及状态
- **Criteria查询**是Hibernate提供的另一种查询方式,除了传统的HQL(Hibernate Query Language),Criteria API允许以面向对象的方式构建查询,更符合Java的编程习惯。创建Criteria对象的正确方式是`Criteria c = ...
《Hibernate达内五天复习笔记》是一份详细记录了Hibernate框架学习的资料,旨在帮助读者深入理解并掌握Hibernate这一强大的Java持久化框架。以下是笔记中的主要知识点: 1. **ORM原理**: - **对象持久化**:将...
文件名称列表显示了具体的复习题目和答案,例如"JSP复习题4含答案.txt"可能是关于JavaServer Pages的题目,"Hibernate复习题1含答案.doc"则可能涉及到Hibernate框架的实践问题。"购车预订系统.doc"和"2010南非世界杯...
【标题】:“Hibernate知识复习二:组合映射” 在Java Web开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,将数据库中的表映射为Java对象,使得开发者可以像操作普通对象一样操作...
本复习旨在深入理解Hibernate的核心概念、配置及常用API,帮助开发者提高开发效率。 一、Hibernate概述 Hibernate是Java领域中流行的ORM(Object-Relational Mapping)框架,它通过映射关系数据库与Java类,实现了...
提供的三份上课笔记《上课笔记t1.txt》、《上课笔记.txt》和《上课笔记t3.txt》可能是课堂讲解的精华总结,包含了关键点和实例,是复习和巩固知识的好帮手。 通过学习这些资料,你将能够有效地掌握Hibernate框架,...
**标题:“Hibernate4.1.1的Demo实例”** **描述**:这个Demo实例深入浅出地展示了Hibernate 4.1.1版本的核心特性和使用方法。...同时,对于有经验的开发者,这也是复习和巩固Hibernate知识的一个好资料。
### J2EE考试复习知识点详解 #### Struts2框架概览 - **起源与组成**:Struts2框架源于WebWork框架与XWork框架的发展融合。WebWork2本身即建立在XWork之上,继承并发展了XWork的核心特性,如命令模式、拦截器机制等...
**Hibernate** 是一个开源的对象关系映射 (ORM) 工具,它使得 Java 开发者可以更加方便地与数据库进行交互,无需编写大量的 SQL 代码。Hibernate 通过提供一个映射配置文件或注解,能够将 Java 类映射到数据库表,并...
**J2EE复习积累(六)-Hibernate4.2** 在J2EE开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了Java应用程序与数据库之间的交互。本篇复习将聚焦于Hibernate 4.2版本,该版本在前一版本的基础上...
在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨 Hibernate 中的多对多关联映射,这是一个复杂但常见的数据模型关系,适用于那些两个...
《韩顺平.2011版.hibernate_ppt》是一个关于Hibernate框架的培训教程,由知名讲师韩顺平在2011年制作并分享。Hibernate是一个强大的Java对象关系...对于有经验的开发者,也是复习和深入理解Hibernate特性的良好资源。
《传智播客2016 Hibernate框架学习笔记》是一份详实的教程,旨在帮助初学者和进阶者深入理解和掌握Hibernate框架。...这些笔记不仅适合初学者,也为有经验的开发者提供了一个复习和深化Hibernate知识的良好资源。
**标题:“Hibernate_使用示例代码”** **描述:** 这篇资源主要提供了关于Hibernate框架的实战应用示例,作者在iteye...对于初学者,这是一个很好的起点,对于有经验的开发者,也是复习和巩固Hibernate技能的好材料。
在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨Hibernate中的关联映射,特别是“一对多”和“多对一”的关系映射,这对于理解如何在...
在Java企业级开发中,Struts2和Hibernate是两个非常重要的框架,它们分别负责控制层和数据持久化层。...对于初学者,这是一个很好的起点,对于有经验的开发者,也可以作为一个复习和巩固基础知识的参考。
Struts2、Hibernate和Spring是Java企业级应用开发中广泛使用的三大开源框架,它们共同构建了J2EE应用程序的基础架构。这些框架各自有着特定的功能和优势,协同工作时能极大地提高开发效率和软件质量。 **Struts2**...
网上银行系统是一个基于Struts和Hibernate技术的典型Web应用程序,旨在模拟实际银行的在线服务功能。这个项目提供了学习和理解这两种技术...而对于有经验的开发者,这样的项目也可以用来复习和深化对这两项技术的掌握。