1.新建maven项目 testHibernate,pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>testHiberate</groupId>
<artifactId>testHiberate</artifactId>
<version>1.0-SNAPSHOT</version> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency> <!-- 添加Hibernate依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.10.Final</version>
</dependency> <!-- 添加Log4J依赖 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency> <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.6.4</version>
</dependency> <!-- 添加javassist -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.0.GA</version>
</dependency> <!-- mysql数据库的驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
</dependencies> </project>

2.新建类Event

package com.demo;

import java.util.Date;

public class Event {

    private Long id;//id
private String title;//标题
private Date date;//日期
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}

3.在resource/mapper文件夹下新建Event.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.demo"> <class name="com.demo.Event" table="EVENTS"> <id name="id" column="EVENT_ID"> <generator class="assigned"/> </id> <property name="date" type="timestamp" column="EVENT_DATE"/> <property name="title"/> </class> </hibernate-mapping >

4.在resource文件夹下新建hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="connection.url">jdbc:mysql://192.168.32.95:3306/db2</property>
<property name="connection.username">DB_WX_APP</property>
<property name="connection.password">LH_longfor</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="mapper/Event.hbm.xml"/>
</session-factory>
</hibernate-configuration>

5.新建辅助类 HibernateUtil

package com.demo;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class HibernateUtil { //定义静态的SessionFactory,产生单例,只生成一个SessionFactory
private static final SessionFactory sessionFactory = buildSessionFactory(); //用来初始化SessionFactory
private static SessionFactory buildSessionFactory() { try { // Create the SessionFactory from hibernate.cfg.xml return new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } }
//得到SessionFactory
public static SessionFactory getSessionFactory() { return sessionFactory;//返回SessionFactory的对象 } }

6.新建Test类

package com.demo;

import java.util.Date;
import java.util.List; import org.hibernate.Session;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test mgr = new Test();
//if (args[0].equals("store")) {
//mgr.createAndStoreEvent("My Event1", new Date());//调用函数插入数据
//}
mgr.getList();
// mgr.Get();//单个查询
HibernateUtil.getSessionFactory().close();
}
private void createAndStoreEvent(String title, Date theDate) { //得到目前运行的session
Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction();//开始事务
Event theEvent = new Event();//创建bean对象
theEvent.setTitle(title);//设置标题
theEvent.setId(100002L);
theEvent.setDate(theDate);//设置日期
session.save(theEvent);//保存对象
session.getTransaction().commit();//提交事务 } private void Get() { //得到目前运行的session
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Event theEvent = new Event();//创建bean对象
theEvent.setId(100001L);
Event e=(Event) session.get(Event.class,100001L);
System.out.println(e.getTitle());
session.getTransaction().commit(); } void getList(){
Session session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List<Event> list= session.createSQLQuery("select * from EVENTS").addEntity(Event.class).list();
for(Event e:list){ System.out.println(e.getTitle());
}
session.getTransaction().commit();
} }

运行Test类即可

https://pan.baidu.com/s/1fhnr4SWTkqd0RAdGniAMtA

Hibernate demo之使用xml的更多相关文章

  1. 基本hibernate DEMO

    Hibernate常用API: 1Configuration: 负责加载主配置文件信息,同时也加载映射关系文件信息. 2SessionFactory 负责创建Session对象. 3Session 数 ...

  2. eclipse hibernate配置文件(*.hbm.xml)加上自动提示功能

    转自:https://blog.csdn.net/u012217085/article/details/17397843?utm_source=blogkpcl3 1. 标签:hibernate 在编 ...

  3. Hibernate demo之使用注解

    1.新建maven项目 testHibernate,pom.xml <?xml version="1.0" encoding="UTF-8"?> & ...

  4. MyEclipse10中自动生成Hibernate的实体和xml配置文件

    前提:1.在项目中添加Hibernate支持 2.MyEclipse中已经创建好数据库连接 3.表已经建好并且有主键 步骤如下: 1.在DB Browser窗口的已打开连接节点中选中用户创建的所有的表 ...

  5. hibernate ——helloWorld程序(XML配置)

    1.项目结构 2.hibernate实现了Java类 和 数据库表的映射(Map) 先看一下Student的Java类和对应的数据库表 package com.pt.hibernate; public ...

  6. spring,hibernate配置事务 beans.xml

    beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  7. Hibernate注解配置与XML配置区别

    注解配置的方式与xml很很多类似: 首先是需要加入4个jar包:hibernate-commons-annotations.jar . hibernate-annotations.jar.ejb3-p ...

  8. eclipse中hibernate和mybatis中xml配置文件的没有标签提醒解决方法

    当我们使用eclipse编写Mybatis或hibernate的xml文件时,面对众多标签的配置文件,却没有自动提醒,对于工作和学习都十分不方便. 之所以没有自动提醒,是因为dtd文件没有加载成功. ...

  9. intellij配置hibernate自动生成hbm.xml文件

    1.首先创建一个Java web项目,这里因为已经在整个项目中配置好tomcat了,所以我是直接创建module的,其实和创建project的配置方法一样,创建的时候选择Web Application ...

随机推荐

  1. Func<T1, T2, TResult> Delegate 系统Func委托类型

    原文发布时间为:2011-03-25 -- 来源于本人的百度文章 [由搬家工具导入] http://msdn.microsoft.com/en-us/library/bb534647%28v=VS.1 ...

  2. SQL中的CASE WHEN使用

    原文发布时间为:2010-06-04 -- 来源于本人的百度文章 [由搬家工具导入] SQL的条件语句,条件判断语句,SQL的 if else语句。2009-07-20SQL_中的CASE WHEN使 ...

  3. What and How in an Application

    Basically, two concerntrations: 1. What: business docs and prototype design 2. How: technical docs a ...

  4. asp.net内置对象 Response对象使用介绍

    Response对象是HttpRespone类的一个实例.该类主要是封装来自ASP.NET操作的HTTP相应信息.Response对象将数据作为请求的结果从服务器发送到客户浏览器中,并提供有关响应的消 ...

  5. hdu 5055(模拟)

    Bob and math problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  6. 【转载】SQL Server 2008 R2 使用的端口解析

    转载博客:http://www.cnblogs.com/studyzy/archive/2009/11/30/1614139.html SQL Server在安装到服务器上后,出于服务器安全的需要,所 ...

  7. rpm安装与卸载命令

    linux删除目录(文件夹):rmdir 目录名(目录需非空):直接删除可用: rm -rf 目录名 ,不需考虑是否为空 SecureCRT上传文件:rz  ,下载文件:sz rpm 安装:rpm - ...

  8. apache url rewrite问题

    apache RewriteEngine Your browser sent a request that this server could not understand http://www.ra ...

  9. Spring MVC通过Pageable对象和PageableDefault注解获取分页信息(MongoDB通过Pageable来操作分页)

    说明:Pageable同时也能用于操作MongoDB的分页. PageableSpring Data库中定义的一个接口,该接口是所有分页相关信息的一个抽象,通过该接口,我们可以得到和分页相关所有信息( ...

  10. 【spring boot hibernate】hibernate命名策略spring.jpa.hibernate.naming-strategy不起作用

    对于 spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy hibernate命名策略设置之后 ...