hibernate框架环境搭建与使用

搭建环境

一、新建一个项目 , 导包   一个是hibernate的jar包,一个是jdbc的jar包

hibernate的jar包

这些jar包全部导入

二、配置Hibernate。

1.建立hibernate.cfg.xml文件, 包所在的文件夹的project里去搜索cfg.xml复制并修改

2.配置hibernate.cfg.xml文件

<!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>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 数据库方言 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- 引用jdbc包 -->
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password"></property>
        <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/myzy?characterEncoding=GBK</property> <!-- 数据库链接 -->
        <property name="show_sql">true</property> <!-- true 执行完在控制台打印SQL语句 -->
            <!-- 表映射加载  -->
        <mapping resource="com/itnba/maya/model/Fruit.hbm.xml"/>

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

3.每个配置项的值可以从project/etc/hibernate.properties中搜索

三、准备数据库

四、准备实体(建议使用:引用类型。建议类名属性名与列名一致)

package com.itnba.maya.model;

public class Fruit {
    public String getIds() {
        return ids;
    }
    public void setIds(String ids) {
        this.ids = ids;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Double getPrice() {
        return price;
    }
    public void setPrice(Double price) {
        this.price = price;
    }
    public String getSource() {
        return source;
    }
    public void setSource(String source) {
        this.source = source;
    }
    public Integer getNumbers() {
        return numbers;
    }
    public void setNumbers(Integer numbers) {
        this.numbers = numbers;
    }
    public String getImage() {
        return image;
    }
    public void setImage(String image) {
        this.image = image;
    }
    private String ids;
    private String name;
    private Double price;
    private String source;
    private Integer numbers;
    private String image;

}

五、准备映射文件 实体类名.hbm.xml 例:Fruit.hbm.xml

1.建立:实体类名.hbm.xml文件。包所在的文件夹的project里去搜索hbm.xml复制并修改

要跟实体类放一个包里

2.配置实体类名.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 default-lazy="false" package="com.itnba.maya.model">    <!-- 导入包 -->

    <class name="Fruit" table="Fruit"> <!-- 表名 -->
        <id name="ids">    <!-- 主键 -->
            <generator class="assigned"/><!-- 如果主键是自增长改为class="native" -->
        </id>
        <!-- 对应的各个字段名 -->
        <property name="name"/>
        <property name="price"/>
        <property name="source"/>
        <property name="numbers"/>
        <property name="image"/>

    </class>
</hibernate-mapping>

六、写代码

说明:这里的session不是web中的session。
web中的session代表的是客户端与web服务器之间的会话。
这里的session指的是程序与数据库之前的会话,它是由hibernate进行管理的。

添加

package com.itnba.maya.test;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.*;

import com.itnba.maya.model.Fruit;

public class AA {

    public static void main(String[] args) {
        //读取hibernate.cfg.xml的配置,加载Hiberna的类库
        Configuration config=new Configuration().configure();
        //根据配置,生成session工厂
        SessionFactory factory= config.buildSessionFactory();
        //用工厂生成session
        Session session =factory.openSession();
        //添加
        //1.造对象
                Fruit data = new Fruit();
                data.setIds("s002");
                data.setName("芒果");
                data.setSource("博山");
                data.setPrice(10.0);
                data.setNumbers(200);
                data.setImage("无");

        //2.用session.save()保存到数据库了
                try{
                    session.beginTransaction();
                    session.save(data);
                    session.getTransaction().commit();
                }
                catch(Exception ex){
                    session.getTransaction().rollback();
                }

        session.close();
    }

}

查询

package com.itnba.maya.test;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.*;

import com.itnba.maya.model.Fruit;

public class AA {

    public static void main(String[] args) {
        //读取hibernate.cfg.xml的配置,加载Hiberna的类库
        Configuration config=new Configuration().configure();
        //根据配置,生成session工厂
        SessionFactory factory= config.buildSessionFactory();
        //用工厂生成session
        Session session =factory.openSession();
        //查询
                //查单条数据
                Fruit data=session.get(Fruit.class, "k001");
                System.out.println(data.getName()+data.getPrice()+data.getNumbers());

                //查询所有数据
                List<Fruit> list = session.createQuery("from Fruit").getResultList();
                for(Fruit a:list){
                    System.out.println(a.getName()+a.getPrice()+a.getNumbers());
                }
        session.close();
    }

}

控制台显示

删除

package com.itnba.maya.test;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.*;

import com.itnba.maya.model.Fruit;

public class AA {

    public static void main(String[] args) {
        //读取hibernate.cfg.xml的配置,加载Hiberna的类库
        Configuration config=new Configuration().configure();
        //根据配置,生成session工厂
        SessionFactory factory= config.buildSessionFactory();
        //用工厂生成session
        Session session =factory.openSession();
        //删除
                //先查出
                Fruit data = session.load(Fruit.class,"k002");//get和load都可以查
                if(data!=null){
                    session.beginTransaction();
                    //删除提交数据库
                    session.delete(data);
                    session.getTransaction().commit();
                }
        session.close();
    }

}

修改

package com.itnba.maya.test;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.*;

import com.itnba.maya.model.Fruit;

public class AA {

    public static void main(String[] args) {
        //读取hibernate.cfg.xml的配置,加载Hiberna的类库
        Configuration config=new Configuration().configure();
        //根据配置,生成session工厂
        SessionFactory factory= config.buildSessionFactory();
        //用工厂生成session
        Session session =factory.openSession();
        //修改
                //1.查
                Fruit data = session.load(Fruit.class,"s002");

                if(data != null){
                    session.beginTransaction();
                    //2.改
                    data.setName("哈密瓜");
                    data.setPrice(11.1);
                    data.setNumbers(99);
                    //3.提交
                    session.update(data);
                    session.getTransaction().commit();
                }

        session.close();
    }

}

时间: 2024-11-08 18:12:39

hibernate框架环境搭建与使用的相关文章

hibernate框架环境搭建

一.概述:hibernate框架是作用于dao层的,实现对数据的持久化保存.通过面向对象的方式操作数据库. 二.hibernate框架的搭建 1.导包 lib目录下的required文件夹下的所有jar包. mysql驱动包. 2.创建数据库于表. 3.创建实体类. 4.创建实体映射文件(以crm练习Customer类为例) 实体类名.hbm.xml 引入约束文件 <?xml version="1.0" encoding="UTF-8"?> <!D

eclipse中SSH三大框架环境搭建&lt;三&gt;

相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的搭建以及简单使用,但是在访问数据库层面使用的是传统的JDBC.在我们项目开发中使用JDBC确实是不太理想的,所以今天我给大家来讲解一下目前行业中比较流行的持久层框架——hibernate. 第1步:我们依旧需要引入hibernate的jar包 找到hibernate解压好的文件目录,在该目录下的lib目录下有

【Hibernate】hibernate框架的搭建

1, Hibernate 是什么 Hibernate框架简化了java应用程序与数据库交互的开发. Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. 2,Hibernate框架的优点 Hibernate框架有很多优点.它们分别如下: 开源和轻量级: Hibernate框架是根据LGPL许可证和轻量级的开源工具. 快速性能: Hibernate框架的性能很快,因为缓存在Hibernate框架内部使用. hibernate框架中有两种类型的缓存:一级缓存和二级缓存.一级缓存默认是启

zf框架环境搭建

apache配置: 1.....在#LoadModule vhost_alias_module modules/mod_vhost_alias.so后面加上 LoadModule php5_module C:/php5.3/php5apache2_2.dllPHPIniDir "C:/php5.3/"AddType application/x-httpd-php .php .html .phtml php配置: 1,打开extension=php_mysql.dllextension=

Hibernate之环境搭建及demo

ORM概念 ORM即Object/Relation Mapping, 对象/关系数据库映射.ORM是一种规范,完成面向对象编程语言到关系数据库之间的映射.J2EE中的JPA就是一种ORM规范. ORM框架有很多,例如JPA, Hibernate,iBATIS等. Hibernate简介 Hibernate是JBoss旗下,同时也是RetHat组织的产品(JBoss加入了RetHat),是目前非常流行的ORM框架. Hibernate中的重要概念为PO(Persistent Object), Hi

Spring框架环境搭建

环境要求:jdk  1.7 及以上.Spring版本:4.3.2 1.建立普通的java 工程 2.新建lib目录,并将一下5个核心jar包拷贝过来,并加入classpath中 下载地址: http://repo.spring.io/libs-release-local/org/springframework/spring/4.3.2.RELEASE/ 3.spring  配置文件的编写 在src下新建xml文件,并拷贝官网文档提供的模板内容到xml中,配置bean到xml中 4. 验证spri

Hibernate开发环境搭建

一.下载Hibernate包的下载 官网地址:http://hibernate.org/orm/ 下载版本:hibernate-release-4.3.11.Final 二.Hibernate jar包介绍 包名 用途 hibernate-core-4.3.11.Final.jar Hibernate核心包 antlr-2.7.7.jar Hibernate利用它实现从HQL到SQL的转换 dom4j-1.6.1.jar 解析XML配置文件和XML映射文件 hibernate-commons-a

Truffle框架环境搭建

注意:本教程需要Truffle4.0或者是更高的版本 以太坊的智能合约只是代码,和我们的纸质代码不同,此合同需要非常精确的方式理解 如果合同编码不正确,我们的交易可能会失败,会导致gas的损失,更不用说浪费时间和精力 Truffle(从版本4开始)有一个内置的调试器,用于单步执行代码,所以当有错误出现的时候,可以准确的知道它是什么,在哪里发生错误,并且可以及时修复它 在本教程中,为我们将基本合同迁移到测试区块链中. 一个基本的智能合约 1.创建一个新的目录,在本地可以收集合同: mkdir  T

跨平台开发之阿里Weex框架环境搭建(一)

申明:原创文章,转载请注明出处,谢谢! https://i.cnblogs.com/EditPosts.aspx?postid=5995122 一.介绍 Weex是阿里今年6月份推出的跨平台解决方案,6月底正式开源.官网 https://alibaba.github.io/weex/ 1.官方支持iOS.Android.HTML5. 2.Write Once, Run Everywhere.一次编写可生成三平台代码. 3.DSL模板学习超简单,直接写HTML.CSS.JS.这意味着可以直接用现有