Hibernate 使用说明

Eclipse中hibernate连接mySQL数据库练习
(采用的是hibernate中XML配置方式连接数据库,以后在更新其他方式的连接)

Hibernate就是Java后台数据库持久层的框架,也是目前企业用最多的数据库框架,主要是基于ORM -- object relationship Mapping,翻译成中文叫“对象关系映射”,也就是将SQL这种非面向对象语言转化成hibernation面向对象的写法,本文将通过在Eclipse下搭建HIbernate框架

我所使用的Hibernate版本是Hibernate3.3.2,Hibernate官网下载www.hibernate.org

下面开始搭建hibernate数据库:
1.在eclipse中新建Java project项目,名称为:hibernateTest。右击项目名称,点击property,选择Java Build Path,加入需要导入的JAR包。
2.在src文件夹下,新建hibernate.cfg.xml配置文件,(连接数据库的参数信息)
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.url"> 
                jdbc:mysql://localhost:3306/test
            </property> 
            <!--  数据库连接设置 --> 
           
            <property name="hibernate.connection.username">用户名</property> 
            <property name="hibernate.connection.password">密码</property> 
 
            <!-- show_sql 生成SQL语句输出到日志以供调式 --> 
            <property name="hibernate.show_sql">true</property> 
           
            <!-- SQL dialect 方言 --> 
            <property name="hibernate.dialect"> 
                org.hibernate.dialect.MySQLDialect  
            </property> 
           
             <!-- 指定session通过当前执行的线程来跟踪和界定 -->
            <property name="hibernate.current_session_contecxt_class" >
                thread
            </property>
 
           
            <!-- 添加实体类的映射文件-->

<mapping resource="XXXXX.hbm.xml" /> 

<!--  映射文件路径配置使用 / 例如:com/zzp/login/login.hbm.xml --> 
    
        </session-factory> 
    </hibernate-configuration>

3.在mySQL数据库中有一个login表,字段为id(int),name(string),password(string),在model包下新建login.java,
login.java文件代码如下:
public class login {
   
    private int id;
    private String name;
    private String password;
   
    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 String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

}
4.在该model包下,新建login.hbm.xml,用于映射数据库字段和表
login.hbm.xml文件代码如下:
<?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE hibernate-mapping PUBLIC 
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
           
    <hibernate-mapping package="x.model"> 
        <class name="login" table="login"> 
             <id name="id" type="java.lang.Integer"></id> 
            <property name="name" type="java.lang.String"  /> 
            <property name="password" type="java.lang.String" /> 
        </class> 
    </hibernate-mapping>

5.在该model包下,新建testLogin.java作为测试文件
TestLogin.java代码如下:

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

public class test {
   
     public static void main(String a[])
     {
      login l = new login();
      l.setId(1);
      l.setName("456");
      l.setPassword("456");
     
      Configuration cfg = new Configuration();
      SessionFactory sf = cfg.configure().buildSessionFactory();
      Session session = sf.openSession();
      session.beginTransaction();
      session.save(l);
      session.getTransaction().commit();
      session.close();
      sf.close();
      System.out.print("success!");
     }

}

6.运行程序,运行成功。

https://yunpan.cn/cMp6r3v2nSsEx  访问密码 d87e

时间: 2024-11-15 00:36:03

Hibernate 使用说明的相关文章

Hibernate @temporal的使用说明

关于hibernate标注,用到@Temporal标注时,我一开始认为使用该标注后,该属性的值会被自动赋值.不需要在插入数据时,给该属性赋值,通过反复研究最后发现不是这样. @Temporal标签的作用很简单: (1) 如果在某类中有Date类型的属性,数据库中存储可能是'yyyy-MM-dd hh:MM:ss'要在查询时获得年月日,在该属性上标注@Temporal(TemporalType.DATE) 会得到形如'yyyy-MM-dd' 格式的日期. (2)如果在某类中有Date类型的属性,数

jasypt命令行工具的使用说明

jasypt能够以很简单的方式为Java项目提供加密功能,这种简单的方式体现着它的命令行工具,与Spring,Hibernate, Springsecurity, wicket等第三方框架的集成. 本文参加jasypt官方网站:http://www.jasypt.org/  下载jasypt包,解压缩到本地目录. 如下图: 根目录: 命令行工具目录: 说明: 在lib目录下是jasypt的核心jar和与第三方组件集成的jar. 在bin目录下是jasypt的命令行工具脚本. 在apidoc目录下

jasypt与Spring结合使用说明

jasypt既然是以简单的方式来解决java开发中的加密问题,自然使用起来难度不是很大.加密是从系统安全性方面考虑的,因此jasypt更像是面向方面的解决办法,不管你的系统中配置文件,敏感信息是否已经加密或者没有加密,jasypt都能够轻松的嵌入其中,开发人员就不用专门考虑加密算法和代码的编写. 要想深入了解jasypt是如何将加密解密和摘要算法组织起来,轻松的解决开发中加密问题以及和第三方组件集成,查看它的源代码是不错的选择. 下面主要说说如何在Spring框架中如何轻松使用jasypt.(下

hibernate 初印象

将要学习的内容: 1.HelloWorld a) xml b) annotation2.Hibernate 原理模拟 - 什么是 O/R Mapping 以及为什么要有 O/RMapping3.常见 O/R 框架4.Hibernate 基础配置5.Hiberante 核心接口介绍6.对象的三种状态7.ID 生成策略8.关系映射9.Hibernate查询(HQL)10.在 Struts 基础上继续完善 BBS200911.性能优化12.补充话题 风格1.先脉络,后细节2.先操作,后原理3.重 An

Hibernate Annotation笔记

(1)简介:在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准.它非常强大.灵活,而且具备了优异的性能.在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并使持久层的编码过程变得更为轻松. 传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载.    在最近发布的几个Hibernate版本中,出现了一种基于 Java 5 注释的更为巧妙的新方法.借助新的 Hibernate

(转)Hibernate注解使用以及Spring整合

原文转自:http://wanqiufeng.blog.51cto.com/409430/484739 (1)简介:在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准.它非常强大.灵活,而且具备了优异的性能.在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并使持久层的编码过程变得更为轻松.传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载.    在最近发布的几个Hib

Hibernate - HHH000352: Unable to release batch statement

这是hibernate的一个bug,具体看https://hibernate.atlassian.net/browse/HHH-11732?attachmentViewMode=list When using stateless session with jdbc batch size we get an HHH000352: Unable to release batch statement.. error in session.close() after rollback: Code:Con

Hibernate简述及入门实例

一.Hibernate简述 总的概括,Hibernate是一个ORM的轻量级持久层框架,解决了对象和关系数据库中表的不匹配问题(阻抗不匹配)以及拥有开发代码不用去继承hibernate类或接口的优势(无侵入性).hibernate框架实现使得开发人员可以避免反复地编写javajdbc部分代码,应用面向对象的思维操作关系型数据库. 二.使用myeclipse创建hibernate实例两种方法(以hibernate3.5.2及mysql为例) a)手动编写hibernate.cfg.xml及*.hb

对象序列化和反序列--Hibernate的查询和新增极其相似

Hibernate几个关键字持久化,ORM(关系对象映射)(数据库中关系称作是一张表) 应用在项目中,刘一从写的查询代码,每次都挂掉,想要弄出测试数据,自己想着把查询出来的复杂数据弄到文件里自己要是去造那些复杂数据很麻烦public class Object1 { public static void main(String args[]){ HashMap<String, Object> obj=new HashMap<String,Object>(); obj.put(&quo