基本hibernate DEMO

Hibernate常用API:

1Configuration:

负责加载主配置文件信息,同时也加载映射关系文件信息。

2SessionFactory

负责创建Session对象。

3Session

数据库会话,负责增删改查操作。

4Transaction

负责事物控制

5Query

负责执行特殊查询

1新建java项目,加入导入jar包,直接导入myeclipse自带的hibernate library即可。另外,mysql jdbc的连接jar。

2entity类:

package cn.itcast.hibernate.domain;

import java.util.Date;

public class User {

    private int id;

    private String name;

    private Date birthday;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

}

3user的配置文件,user.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.itcast.hibernate.domain">

    <class name="User">
        <id name="id">
            <generator class="native" />
        </id>
        <property name="name"/>
        <property name="birthday" />
    </class>
</hibernate-mapping>

4hibernate配置文件hibernate.cfg.xml

<!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="connection.url">jdbc:mysql:///test</property>
        <property name="connection.username">root</property>
        <property name="connection.password"></property>

        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">create</property>

        <mapping resource="cn/itcast/hibernate/domain/User.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

注意

<property name="hbm2ddl.auto">create</property>这个配置信息配置了这个,数据库才能根据hibernate配置,自动创建表。

5Base

package cn.itcast.hibernate;

import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import cn.itcast.hibernate.domain.User;;

public class Base {
    public static void main(String[] args){

        Configuration configuration = new Configuration();
        configuration.configure();

        SessionFactory sessionFactory = configuration.buildSessionFactory();
        Session session = sessionFactory.openSession();

        Transaction tx = session.beginTransaction();

        User user = new User();
        user.setId(0);
        user.setBirthday(new Date());
        user.setName("A");

        session.save(user);
        tx.commit();
        session.close();
        System.out.println("end");
    }
}

6测试:

工程目录:

时间: 2024-10-02 22:25:14

基本hibernate DEMO的相关文章

Hibernate demo之使用注解

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="htt

解决hibernate只能插入一条数据的问题

hibernate初学,根据视频教程写好代码后,发现无论执行多少次main函数,数据库中只有一条数据,尝试多次,后来终于发现问题... 使用的工具是:MYSQL 5.7.13   eclipse 4.5.2  hibernate 4.0.5 第一步: 在mysql中新建一个数据库 名为DEMO01,然后再创建一个test表: USE DEMO01; CREATE TABLE test( TEST_ID int auto_increment, name varchar(20), TEST_DATE

Spring + Hibernate 项目配置

希望使用最小的例子,驱动出spring + hibernate集成项目的搭建, 该项目是在spring suit tool 上进行创建,使用其自带图形界面功能编辑bean的xml文件 同时在使用sts中发现,其中有一些小功能方便初学者使用,比如对于spring元素的图形化显示等,下面列出三点: 1. 创建一个spring的bean 配置文件 2. 使用图形界面添加namespace等(选项卡中有下面还有beans/context/tx/...) 3. 工程管理中查看spring相关的元素 可以看

【SSH框架】之Hibernate系列一

微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.Hibernate框架概述 (1).什么是HibernateHibernate是一个开放源代码的 ORM 框架,是主流的Java持久层框架之一,它对 JDBC进行了轻量级的对象封装,使得Java开发人员可以使用面向对象的编程思想来操作数据库.(2).Hibernate在三层架构中的位置上篇文章所讲的Struts2框架取代的是三层框架中的web层,而Hibernate框架取代的则是dao层,

struts2和hibernate整合的小Demo

jar包下载地址 创建一个web项目. 导入jar包 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

Hibernate 一对多双向关联Demo

以Classes[班级]和Student[学生]为例的Demo //Classes.java public class Classes implements Serializable { private long cid; private String cname; private String cdesc; private Set<Student> students; //get和set } //Student .java public class Student implements Se

Hibernate 一对多单向关联Demo

以Classes[班级]和Student[学生]为例的Demo Classes .java public class Classes implements Serializable { private long Cid; private String Cname; private String Cdesc; private Set<Student> students; //get和set } Student .java public class Student implements Seria

简单的Hibernate访问数据库Demo

最近在学习SSH,现在看到Hibernate这块,动手实现了一个简单的Demo,对Hibernate的功能.使用有了初步了解. 1.首先将Hibernate的jar包复制到Web项目的lib目录下.有些依赖jar包,要额外导入:比如cglib-nodep.jar,不然会报错. 2.配置实体类.这里我用的是一个简单Account类,要注意使用的是javax.persistense.*下面的注解,不是org.hibernate.*下的. package com.jobhelp.domain; imp

【SSH系列】-- hibernate基本原理&amp;&amp;入门demo

    什么是hibernate?      hibernate在英文中是冬眠的意思,当冬季来临,世界万物开始准备冬眠,但是程序猿这种动物好像不冬眠,因为需求变了,要改bug,冬眠,对于对象来说就是持久化.什么叫做持久化呢?持久化,就是把数据(如内存中的对象)保存到可永久保存的存储设备中,比如磁盘,持久化的主要应用就是将内存中的对象存储在数据库中,或者存储在磁盘文件中.xml文件中等等.持久化是将程序数据在持久状态和瞬时状态间转换的机制.JDBC就是一种持久化机制,文件IO也是一种持久化机制.