`
X_boy
  • 浏览: 12820 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
最近访客 更多访客>>
社区版块
存档分类
最新评论

hibernate3 简单的 CRUD 示例

    博客分类:
  • J2EE
阅读更多

   CRUD是指在做计算处理时增加、查询、更新和删除几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。下面示例演示了如何创建session实例,并使用session的相关方法,实现对数据库表记录的添加。修改。删除和查找。

 

 1、 首先登录MySQL数据库,建立表box,SQL语句如下:

   create table box(

              id int(11) not null auto_increment,

              width float default null,

              length float default null,

              height float default null,

              name   varchar(20) default null,

              primary key(id));

 

2、 Hibernate 配置文件hibernate.cfg.xml

 

   <?xml version="1.0" encoding="UTF-8"?>

<!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="connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>

<property name="connection.useUnicode">true</property> 

       <property name="connection.characterEncoding">UTF-8</property>

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

<property name="connection.password">mysql</property>

<property name="hibernate.c3p0.max_size">20</property>

<property name="hibernate.c3p0.min_size">1</property>

<property name="hibernate.c3p0.timeout">5000</property>

<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="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>

<property name="hbm2ddl.auto">update</property>

 

<mapping resource="crud/Box.hbm.xml"/>

</session-factory>

</hibernate-configuration>

 

3、Java 对应的类Box.java

 

 

package crud;

 

public class Box {

private Integer id;

private float width;

private float length;

private float height;

private String name;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public float getWidth() {

return width;

}

public void setWidth(float width) {

this.width = width;

}

public float getLength() {

return length;

}

public void setLength(float length) {

this.length = length;

}

public float getHeight() {

return height;

}

public void setHeight(float height) {

this.height = height;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

 

}

 

4、Box类的配置文件box.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>

      <class name="crud.Box" table="box">

            <id name="id" type="java.lang.Integer">

            <column name="id"/>

            <generator class="native"/>

            </id>

 

            <property name="width" type="java.lang.Float">

            <column name="width" precision="12" scale="0"/>

            </property>

 

            <property name="length" type="java.lang.Float">

            <column name="length" precision="12" scale="0"/>

            </property>

 

            <property name="height" type="java.lang.Float">

            <column name="height" precision="12" scale="0"/>

            </property>

 

            <property name="name" type="java.lang.String">

            <column name="name" length="20"/>

            </property>

      </class>

</hibernate-mapping>


   至此,第一个Hibernate应用就完成了,下面编写一个测试程序,实现box的CRUD操作。Text.java文件

1、增加记录->session.save()

 


 

public class text {
public static void main(String[] args){
Configuration config = new Configuration().configure();
SessionFactory sf = config.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
             
                Box box = new Box();
                box.setHeight(24.3f);
                box.setLength(100.00f);
                box.setWidth(45.00f);
                box.setName("Mybox");

                session.save(box);
                tx.commit();
                session.close();
   }
}



2、按条件(name)查找数据库存中的记录 ->session.createQuery(),并将其删除 ->session.delete()

package crud;

import java.util.List;

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

public class text {
public static void main(String[] args){
Configuration config = new Configuration().configure();
SessionFactory sf = config.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
        Box box = new Box();
       @SuppressWarnings("rawtypes")

                //查找数据库中的数据
List result = session.createQuery("from Box").list();
for(int i=0;i<result.size();i++){
box = (Box) result.get(i);
if(box.getName().equals("Mybox")){
break;
}
}

             //显示数据库中name=“Mybox”的记录
     System.out.println(box.getId()+" "+box.getHeight()+" "+box.getLength()+" "+box.getWidth());
    
            //删除记录
   session.delete(box);
       
   tx.commit();
    session.close();

}

}



3、按条件(name)查找数据库中的记录->session.createQuery(),并将其更改,即更新记录session.update();

package crud;

import java.util.List;

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

public class text {
public static void main(String[] args){
Configuration config = new Configuration().configure();
SessionFactory sf = config.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
        Box box = new Box();
       @SuppressWarnings("rawtypes")

List result = session.createQuery("from Box").list();
for(int i=0;i<result.size();i++){
box = (Box) result.get(i);
if(box.getName().equals("Mybox")){
break;
}
}

    box.setName("Mybox_1");//更改数据
   session.update(box);       //更新数据

   tx.commit();
            session.close();

}

}

分享到:
评论

相关推荐

    spring+hibernate CRUD 简单示例

    MyEclipse内置的库包含了Spring和Hibernate所需的jar文件,使得配置更加简单。 6. **项目结构**:压缩包中的"springModel"可能包含以下几个部分: - src目录:源代码,包括Java类和配置文件。 - WEB-INF目录:web...

    [简单]Spring简单CRUD示例

    标题中的“Spring简单CRUD示例”表明我们将探讨如何使用Spring框架进行基本的数据库操作,包括创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)数据。Spring是一个广泛使用的Java框架,它提供了丰富的功能...

    Maven struts-spring-hibernate全注解 通用CRUD示例

    一、部分软件/库版本 Maven:3.0.5 struts2.2.3-spring3.0.6-hibernate...可见质量/效率的提升(如果是100个实体呢),当然了只是简单通用的CRUD, 若要在CRUD时做一些其它的操作,可继承对应的Universal,来重写或改写

    Hibernate与JDBC对于数据库CRUD操作性能示例

    Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源

    hibernate 简单CRUD操作

    **Hibernate CRUD操作** CRUD是创建(Create)、读取(Read)、更新(Update)和删除(Delete)的首字母缩写,是数据库管理的基本操作。在Hibernate中,我们可以便捷地进行这些操作。 1. **创建(Create)** - 在...

    hibernate3完整入门示例含jar包

    这个入门示例将带你了解如何配置Hibernate环境,创建实体类,定义数据映射,以及执行基本的CRUD(创建、读取、更新、删除)操作。 **二、配置Hibernate** 在使用Hibernate3时,首先需要配置`hibernate.cfg.xml`文件...

    Hibernate3连接池示例

    总结起来,"Hibernate3连接池示例"展示了如何利用Hibernate3和C3P0连接池实现高效的数据访问。这个示例代码演示了如何配置C3P0,设置数据源,以及如何在Java代码中使用这些配置进行数据库操作。通过这种方式,开发者...

    Hibernate3.x简单配置示例

    **Hibernate3.x简介** Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得...在`hibernate_start`这个压缩包中,可能包含的就是这样一个简单的配置示例,供初学者学习和实践。

    spring3.2 hibernate4 demo CRUD 完整例子

    在本示例中,我们探讨的是一个基于Spring 3.2和Hibernate 4的完整CRUD(创建、读取、更新、删除)操作演示。这个压缩包文件包含了实现这一功能所需的全部资源,让我们深入理解如何将这两个强大的Java框架集成到实际...

    基于Struts2+Spring2+Hibernate3的CRUD(附源代码)

    【标题】"基于Struts2+Spring2+Hibernate3的CRUD(附源代码)" 描述了一种常见的Java Web开发框架组合,用于实现创建、读取、更新和删除(CRUD)操作。这个项目结合了Struts2作为MVC框架,Spring2负责依赖注入和事务...

    hibernate 使用的简单示例

    标题"hibernate 使用的简单示例"表明了本文将要讨论的是如何在实际项目中运用Hibernate这一持久层框架进行数据库操作。Hibernate是一个强大的Java ORM(对象关系映射)工具,它简化了Java应用程序与数据库之间的交互...

    spring+hibernate整合简单示例

    在实际项目中,"spring+hibernate整合简单示例"可能包含以下内容:一个简单的Spring配置文件,定义了DataSource、SessionFactory、TransactionManager等bean;一个或多个DAO接口和其实现类,使用HibernateTemplate...

    Struts2+Spring2+Hibernate3 web应用示例

    现在就将笔者使用Myeclipse工具应用struts2 + spring2 + hibernate3 实现CRUD操作的步骤一一纪录下来,为初学者少走弯路略尽绵薄之力!在本文中,笔者将Struts2.0.6、Spring2.0.6和Hibernate3.1进行整合,希望通过...

    struts1.3+spring3.0+hibernate3.3简单项目示例

    在Hibernate3.3中,开发者可以定义实体类和映射文件,通过简单的API调用来执行CRUD(创建、读取、更新和删除)操作。Hibernate简化了数据库操作,消除了大量SQL代码,提高了开发效率。 整合SSH: 在整合Struts1.3、...

    hibernate-代码学习示例

    【hibernate-代码学习示例】是一个...通过【Test_hibernate】这个压缩包中的代码,你可以看到如何设置Hibernate环境,创建实体类,配置映射,以及进行CRUD操作的具体示例。这将有助于你在实际项目中熟练运用Hibernate。

    Spring与hibernate 整合 简单示例

    本教程将详细介绍如何整合Spring和Hibernate,以创建一个简单的工作示例。 首先,我们需要在项目中引入Spring和Hibernate的依赖。这通常通过Maven或Gradle的配置文件完成,确保添加对应的库依赖,如Spring的核心库...

    Spring4-Struts2-Hibernate4 CRUD Demo_3

    【Spring4-Struts2-Hibernate4 CRUD Demo_3】是一个综合性的开发示例,它展示了如何在Java Web应用程序中整合三大主流框架:Spring 4、Struts 2和Hibernate 4来实现CRUD(创建、读取、更新、删除)操作。这个Demo...

    Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD

    标题 "Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD" 涉及到的是一个使用几种技术栈构建Web应用程序的示例。这个项目结合了Groovy、Tapestry 5、Spring 2.5和Hibernate 3.2,旨在展示如何在实际开发中进行数据...

    博客Struts2+Spring2+Hibernate3 web应用示例

    这个“博客Struts2+Spring2+Hibernate3 web应用示例”旨在展示如何将这三个框架有效地结合在一起,以实现一个完整的后端管理系统,比如书管理应用。 Struts2是Action导向的MVC框架,负责处理HTTP请求,提供控制器层...

Global site tag (gtag.js) - Google Analytics