SSH框架搭建过程---之Hibernate框架的使用(1)
来源:互联网 发布:ubuntu ppa是什么 编辑:程序博客网 时间:2024/06/05 02:49
Hibernate框架的使用
0.导包
1. hibernate.cfg.xml
<span style="font-size:12px;color:#339999;"><strong><?xml version="1.0"encoding="UTF-8"?> <!DOCTYPE hibernate-configurationPUBLIC "-//Hibernate/HibernateConfiguration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Databaseconnection settings --> <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/graduate</property> <propertyname="connection.username">root</property> <propertyname="connection.password">root</property> <!-- SQL dialect--> <propertyname="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Echo allexecuted SQL to stdout --> <propertyname="show_sql">true</property> <propertyname="format_sql">true</property> <mappingresource="cn/edu/bucea/domain/Demo.hbm.xml" /> </session-factory> </hibernate-configuration></strong></span>
2. Demo.java
<span style="font-size:12px;">/** * */ package cn.edu.bucea.domain; import java.io.Serializable; /** * @author JJG * */ public class Demo implementsSerializable { private static final longserialVersionUID = -2072913502409092000L; private String id; private String name; private String password; public Demo() {} /** * @param id * @param name * @param password */ public Demo(String id, Stringname, String password) { super(); this.id = id; this.name = name; this.password =password; } public String getId() { return id; } public void setId(String id){ this.id = id; } public String getName() { return name; } public void setName(Stringname) { this.name = name; } public String getPassword() { return password; } public voidsetPassword(String password) { this.password =password; } @Override public String toString() { return "Demo[id=" + id + ", name=" + name + ", password=" +password +"]"; } }</span>
Demo.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/HibernateMapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="cn.edu.bucea.domain.Demo"table="DEMO"> <id name="id" type="int"> <column name="ID"/> <generator class="identity"/> </id> <property name="name" type="string"> <column name="NAME"/> </property> <property name="password" type="string"> <column name="PASSWORD"></column> </property> </class> </hibernate-mapping>
把新的映射加入到Hibernate的配置中;
例:<mapping resource=" cn/edu/bucea/domain/Demo.hbm.xml"/>
3.SessionfactoryUtil.java
importorg.hibernate.HibernateException;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration; public classSessionFactoryUtil { private static SessionFactory sessionFactory; private static String CONFIG_FILE_LOCATION = "/cn/edu/bucea/config/hibernate.cfg.xml"; static{ try{ sessionFactory = new Configuration().configure(CONFIG_FILE_LOCATION). buildSessionFactory(); }catch(HibernateExceptione){ System.err.println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } public static SessionFactorygetSessionFactory() { return sessionFactory; } public static void main(String[]args) { System.out.println(getSessionFactory()); } }
DemoException.java
/** * @author JJG * 用户自定义异常类 */public class DemoException extends Exception { private static final long serialVersionUID = 704805066683813880L; publicDemoException(Exception e){ super(e); } publicDemoException(String msg){ super(msg); }}
4. DemoDAO.java
importorg.hibernate.HibernateException;importorg.hibernate.Session;importorg.hibernate.Transaction;import cn.edu.bucea.domain.Demo;importcn.edu.bucea.exception.DemoException;importcn.edu.bucea.util.SessionFactoryUtil; public class DemoDAO { public DemoDAO() { } public void saveDemo(Demodemo) throws DemoException{ Session session= null; Transactiontransaction = null;//注意Session和Transaction的包 try{ session =SessionFactoryUtil.getSessionFactory().openSession(); transaction= session.beginTransaction(); session.save(demo); transaction.commit(); } catch(HibernateExceptione){ transaction.rollback(); throw newDemoException(e.getMessage()); } finally{ if (session != null){ session.close(); } } //... }}
5.DeomTest.java
import cn.edu.bucea.DAO.DemoDAO;import cn.edu.bucea.domain.Demo;import cn.edu.bucea.exception.DemoException; /** * @author JJG * DemoDAO测试类 */public class DemoTest { public static void testSaveDemo() throws DemoException{ Demo demo = new Demo(); demo.setId(1); demo.setName("JJG"); demo.setPassword("123"); DemoDAO demoDAO = new DemoDAO(); demoDAO.saveDemo(demo); } //… public static void main(String[] args) throws DemoException { testSaveDemo(); //… } }
6…
注:以上Hibernate框架的单独应用
===========================================================================
下一篇:SSH框架搭建过程---之Spring框架的使用
0 0
- SSH框架搭建过程---之Hibernate框架的使用(1)
- SSH框架搭建过程---之Spring框架的使用(2)
- SSH框架搭建过程---之Struts框架的使用(3)
- SSH框架搭建过程---之Spring-Hibernate整合(5)
- ssh框架的搭建过程(详细)
- SSH框架搭建过程
- SSH框架搭建过程
- web框架之SSH框架的搭建
- web框架之SSH框架的搭建
- ssh框架的学习之strut2环境搭建(1)
- SSH框架搭建过程---之Struts整合Spring框架(4)
- 搭建一个ssh框架的过程
- SSH框架搭建(Spring-Strtus-Hibernate)
- SSH(spring +hibernate+struts2)三大框架的搭建
- java传统框架ssh---struts、spring、hibernate框架的搭建
- SSH框架搭建过程---之SSH-配置文件实例(6)
- SSH框架之Hibernate的API详解
- SSH框架之Hibernate的主配置文件
- 从今天开始
- ASCIIproblem
- equals || == 小结
- TCP、UDP协议详解
- sigprocmask 阻塞进程
- SSH框架搭建过程---之Hibernate框架的使用(1)
- 7-22 AI
- C语言反转单链表
- jquery.uploadify.v2.1.4实现图片切割上传
- andriod socket开发问题小结
- 2014Esri全球用户大会之Mobile & Apps
- Eclipse 使用maven创建Dynamic Web Project
- ACM ZOJ Problem Set - 1002 fire net
- 爱心