Hibernate入门篇

下面以Hibernate官方站点提供的HibernateTools作为插件来开发Hibernate应用:

1,下载安装HibernateTools;

2,新建工程,添加类库

  1>Mysql驱动;

  2>hibernate-release-4.3.10.Final\lib\required下的10个jar包;

  3> hibernate-release-4.3.10.Final\lib\optional\c3p0下的3个jar包;

3,创建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.driver_class">com.mysql.jdbc.Driver</property>
        <!--指定连接数据库的密码  -->
        <property name="hibernate.connection.password">123456</property>
        <!--指定连接数据库的url,其中anliwendb是本应用连接的数据库名  -->
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/db</property>
        <!--指定连接数据库的用户名  -->
        <property name="hibernate.connection.username">root</property>
        <!--指定数据库方言  -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <!--指定连接池里最大连接数  -->
        <property name="hibernate.c3p0.max_size">20</property>
        <!--指定连接池里最小连接数  -->
        <property name="hibernate.c3p0.min_size">1</property>
        <!--指定连接池里连接的超时时长  -->
        <property name="hibernate.c3p0.timeout">5000</property>
        <!--指定连接池里最大缓存多少个Statement对象  -->
        <property name="hibernate.c3p0.max_statements">100</property>
        <property name="hibernate.c3p0.idle_test_period">3000</property>
        <property name="hibernate.c3p0.acquire_increment">2</property>
        <property name="hibernate.c3p0.validate">true</property>
        <!--根据需要自动创建表  -->
        <property name="hbm2ddl.auto">update</property>
        <!--显示hibernate持久化操作所生成的sql -->
        <property name="show_sql">true</property>
        <!--将sql脚本格式化在进行输出  -->
        <property name="hibernate.format_sql">true</property>
        <!--罗列所有持久化的类名  -->
        <mapping class="com.anlw.news.News"/>
    </session-factory>
</hibernate-configuration>

4,创建POJO文件

package com.anlw.news;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="testtable")
public class News {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;
    private String title;
    private String content;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }

}

5,主程序

package com.anlw.news;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class Manager {
    public static void main(String[] args) {
        //实例化Configuration

        Configuration conf = new Configuration().configure();
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().
                applySettings(conf.getProperties()).buildServiceRegistry();
        //以Configuration实例创建SessionFactory实例
        SessionFactory sf = conf.buildSessionFactory(serviceRegistry);
        //创建Session
        Session sess = sf.openSession();
        //开始事物
        Transaction tx = sess.beginTransaction();
        //创建消息对象
        News n = new News();
        //设置消息的标题和内容
        n.setTitle("这是title");
        n.setContent("这是content");
        //保存消息
        sess.save(n);
        //提交事物
        tx.commit();
        //关闭session
         sess.close();
         sf.close();
         System.out.println("ok");

    }
}
时间: 2024-10-22 14:52:47

Hibernate入门篇的相关文章

Hibernate入门篇——第一个Hibernate应用

Hibernate入门 第一步: 挑选jar包 在工程下新建lib文件夹,然后将Hibernate基本包复制进去.可以采用Maven来获取这些包: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.2.7.Final</version> </dependency> 也可

Hibernate入门篇&lt;1&gt;hibernate.cfg.xml学习小结

Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹 classes中.Hibernate配置文件支持两种形式,一种是xml格式的配置文件,另一种是Java属性文件格式的配置文件,采用"键=值"的形式.建议采用xml格式的配置文件,xml配置文件可以直接对映射文件进行配置,并由Hibernate自动加载,而properties文件则必须在程序中通过编码加载映射文件. 一)hibernate配置文件模

《Java从入门到放弃》入门篇:hibernate中的多表对应关系

hibernate中的对应关系其实就是数据库中表的对应关系, 就跟某些电影中的某些场景是一样一样滴. 比如可以是一男一女,还可以是一男多女, 更可以是多男一女,最后最后最后还可以是多男多女!!! 有些不纯洁的看官肯定已经开始想歪了吧···,我还是上图吧!请看下图 我说滴是这样滴一群人打群架滴场景,嘿嘿嘿··· 好吧,进入正题!!! 数据库中表与表之间的数据映射关系有一对一,一对多,多对一,多对多.例如: 一个身份证只能对应一个护照,一个护照也只能对应一个身份证,这就是一对一的关系 一个男人可以有

史上最简单的Hibernate入门简单介绍

事实上Hibernate本身是个独立的框架,它不须要不论什么web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了非常多非Hibernate的东西,比方: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss.这easy让人产生Hibernate复杂难懂的误解,特别是打击了刚開始学习的人的积极性. 在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,

Hibernate入门教程

上一章我们学了一下Hibernate的配置和单张表的操作,这一章说一下Hibernate中一对一的配置 Hibernate入门教程 第二章 Hibernate的一对一单边双边配置.以及增删改查 预备知识: 1.fetch ,可以设置fetch = "select" 和 fetch = "join" fetch ="select"是在查询的时候先查询出一端的实体,然后在根据一端的查询出多端的实体,会产生1+n条sql语句; fetch = &quo

Hibernate 入门教程(总结)

在前面4篇文章,我把Hibernate中的常规配置.单张表操作.一对一单双边配置.一对多.多对一单双边配置.多对多单双边配置及数据库操作都讲了一遍,如果有的地方说错了或者不明白的地方,还请大家指正.我再把几篇文章的地址发一下,方便大家查阅 一.Hibernate入门教程 第一章Hibernate的简单配置.单张表的增删改查操作(student为例) 地址:http://blog.csdn.net/zhangpan19910604/article/details/46654233 二.Hibern

简单的Hibernate入门简介

其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss.这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性. 在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss.本文的

spring 入门篇

spring 入门篇 相对于Hibernate(冬眠),Spring(春天),具有更多的诗意与希望的感觉,是为了解决传统J2EE开发效率过低.开发商之间不统一.没有真正实现“写一次到处使用”,它的优点有如下: 低侵入式设计,代码污染极低. 独立于各种应用服务,真正实现写一次到处都可以使用. 用户可选择的自由度高,用户可以选择部分或者是全部SPRING的功能,它并不是设计来取代其它框架,可以和其它的框架(如STRUTS.HIBERNATE)等结合极好. 面向接口的编程方式,使得代码的偶合度降到最低

走进JavaWeb技术世界13:Hibernate入门经典与注解式开发

微信公众号[黄小斜]大厂程序员,互联网行业新知,终身学习践行者.关注后回复「Java」.「Python」.「C++」.「大数据」.「机器学习」.「算法」.「AI」.「Android」.「前端」.「iOS」.「考研」.「BAT」.「校招」.「笔试」.「面试」.「面经」.「计算机基础」.「LeetCode」 等关键字可以获取对应的免费学习资料. ? Hibernate入门这一篇就够了 前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hiber