hibernate第一个实例

原创 2015年11月19日 22:24:31

前段时间学习了jdbc的知识,然后决定把hibernate框架学习一下,这里写个helloworld记录一下。

创建数据库

1 create database hibstu;

2 use hibstu;

3 CREATE TABLE user(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);

 

创建maven项目,添加以下依赖,版本可以自行选择

<dependency>

            <groupId>org.hibernate</groupId>

            <artifactId>hibernate</artifactId>

            <version>3.1</version>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.37</version>

        </dependency>

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.12</version>

        </dependency>

        <dependency>

            <groupId>javax.transaction</groupId>

            <artifactId>jta</artifactId>

            <version>1.1</version>

        </dependency>

配置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="hibernate.connection.url">jdbc:mysql://localhost:3306/mybatis</property>

        <property name="hibernate.connection.username">root</property>

        <property name="hibernate.connection.password">xxx</property>

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

        <mapping resource="org/hibernate/tutorial/domain/User.hbm.xml"/>

    </session-factory>

         

</hibernate-configuration> 

 

 

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>

    <class name="org.hibernate.tutorial.domain.User"

            table="user"

    >

        <id name="id"column="id">

            <generator class="native"/>

        </id>

        <property name="name" column="name"/>

        <property name="age" column="age"/>

    </class>

</hibernate-mapping>

 

User

package org.hibernate.tutorial.domain;

 

publicclassUser {

 

    privateintid;

   

    private String name;

   

    privateint  age;

 

    publicint getId() {

        returnid;

    }

 

    publicvoid setId(intid) {

        this.id = id;

    }

 

    public String getName() {

        returnname;

    }

 

    publicvoid setName(String name) {

        this.name = name;

    }

 

    publicint getAge() {

        returnage;

    }

 

    publicvoid setAge(intage) {

        this.age = age;

    }

 

 

}

 

 

测试插入,查找

package org.hibernate.tutorial.test;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

import org.hibernate.tutorial.domain.User;

 

public class HibernateTest {

 

         publicstatic void main(String[] args) {

                 

                  //读取hibernate.cfg.xml文件

                  Configurationcfg = new Configuration().configure();

                 

                  //建立SessionFactory

                  SessionFactoryfactory = cfg.buildSessionFactory();

                 

                  //取得session

                  Sessionsession = null;

                  try{

                          session= factory.openSession();

                          //开启事务

                          session.beginTransaction();

                          Useruser = new User();

                          user.setName("张三");

                          user.setAge(23);

                          //保存User对象

                          session.save(user);

                         

//     先注释掉,空表查找失败的话,由于事务的原因,插入会被回滚吧

//                      Useru1=(User)session.load(User.class,new Integer(1));

//                      System.out.print("从数据库加载数据的用户名为"+u1.getName());

                          //提交事务

                          session.getTransaction().commit();

                  }catch(Exceptione) {

                          e.printStackTrace();

                          //回滚事务

                          session.getTransaction().rollback();

                  }finally{

                          if(session != null) {

                                   if(session.isOpen()) {

                                            //关闭session

                                            session.close();

                                   }

                          }

                  }

         }

}


新手上路之Hibernate:第一个Hibernate例子

一、Hibernate概述 (一)什么是Hibernate? Hibernate核心内容是ORM(关系对象模型)。可以将对象自动的生成数据库中的信息,使得开发更加的面向对象。这样作为程序员就可以使用面...
  • aboy123
  • aboy123
  • 2013年08月21日 19:33
  • 96275

Eclipse下的第一个Hibernate

承接上一篇:http://blog.csdn.net/tjzhaomengyi/article/details/51191836,在我们配置完Eclipse下的SQL Explore后,我就继续Hib...
  • tjzhaomengyi
  • tjzhaomengyi
  • 2016年04月20日 18:45
  • 2135

Hibernate的第一个程序

Hibernate是一个开源的对象关系映射框架,对JDBC进行非常轻量级的封装。它将POJO与数据表建立了映射关系,是一个全自动的ORM框架。    Hibernate可以自动生成SQL语句并且自...
  • wangxiaofei1993
  • wangxiaofei1993
  • 2016年09月25日 17:35
  • 398

hibernate 4.3.8 第一个实例

已经好久没有使用Hibernate了,最近看了下Hibernate的官网,已经有5.0的开发版了,大体看了下目录结构,很多还是引用的上个版本的,也就是最新的稳定版本4.3.8. 这里螃蟹就以Hi...
  • yhyhyhy
  • yhyhyhy
  • 2016年01月25日 14:40
  • 264

第一个hibernate 实例

hibernate 简单实例,没有和spring整合单独使用hibernate 来实现增删该查。 一、小demo 1、正题结构图: 当看到这个结构图时发现hibernate 有两个配置文...
  • QH_JAVA
  • QH_JAVA
  • 2016年07月04日 18:31
  • 427

第一个hibernate实例

1、domian User类: public class User {  private int id;  private String name;  private Date birthda...
  • Qiluluwawa
  • Qiluluwawa
  • 2012年12月17日 17:31
  • 212

第一个简单的hibernate小例子

一直在用mybatis.因为要写很多表的联合查询语句。 听很多人说起hibernate。说是封装的如何好之类。 于是想学习一下。 网上搜的例子在我这各种报错:log4j的,Configuring eh...
  • sunwei3301
  • sunwei3301
  • 2015年06月24日 16:54
  • 1027

Hibernate的第一个代码

首先来看看hibernate开发的一个简单流程: (1)准备开发环境,创建Hibernate项目。 (2)在数据库中创建数据表。 (3)创建持久化类。 (4)设计映射文件,...
  • pangqiandou
  • pangqiandou
  • 2016年11月07日 12:20
  • 1422

Hibernate(二):Hibernate搭建开发环境+简单实例

本文转载自:http://blog.csdn.net/jiuqiyuliang/article/details/39380465   hibernate是非常典型的持久层框架,持久化...
  • zjkC050818
  • zjkC050818
  • 2017年05月16日 20:21
  • 800

编写第一个Hibernate例子思路

1.创建Hibernate的配置文件 2.创建持久化类 3.创建ORM(对象关系映射)文件 4.通过Hibernate API 编写访问数据库的代码...
  • hz0319
  • hz0319
  • 2016年07月04日 13:55
  • 59
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate第一个实例
举报原因:
原因补充:

(最多只允许输入30个字)