`

Hibernate初体验一

 
阅读更多

嘿嘿,生活就是这样,你多么的努力,没人看到,但如果你不努力,那么你就更没人看到了

 

哈哈,说了些不必要的。在这里我把Hibernate 3.0 做个小小的例子

lib:

antlr-2.7.6.jar

commons-collections-3.1.jar

commons-logging-1.1.1.jar

dom4j-1.6.1.jar

hibernate-jpa-2.0-api-1.0.1.Final.jar

javassist-3.12.0.GA.jar

hibernate3.jar

javassist-3.12.0.GA.jar

jta-1.1.jar

mysql-connector-java-5.0.6-bin.jar

slf4j-api-1.6.1.jar

slf4j-api-1.6.2.jar

slf4j-ext-1.6.2.jar

slf4j-jcl-1.6.2.jar

slf4j-jdk14-1.6.2.jar

slf4j-log4j12-1.6.2.jar

slf4j-nop-1.6.2.jar

slf4j-simple-1.6.2.jar

 

package com.chenhailong;

import java.io.Serializable;

public class TUser implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -1886893835045076202L;
    private Integer id;
    private String name;

    public TUser() {

    }

    /**
     * @return the id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name
     *            the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

}

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping     PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"     
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.chenhailong">

	<class name="com.chenhailong.TUser" table="TUser">
		<id name="id" column="id" type="java.lang.Integer">
			<generator class="native" />
		</id>
		<property name="name" column="name" type="java.lang.String"
			not-null="true" />
	</class>
</hibernate-mapping>

 

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">

<hibernate-configuration>

	<session-factory>
		<!-- properties -->
		<property name="connection.username">root</property>
		<property name="connection.url">JDBC:MySQL://localhost:3306/test</property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="connection.password">chenhailong</property>
		<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>

		<!-- mapping files -->
		<mapping resource="com/chenhailong/TUser.hbm.xml" />
	</session-factory>

</hibernate-configuration>

 

/**
 * 
 */
package com.chenhailong.main;

import java.io.File;
import java.util.List;

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

import com.chenhailong.TUser;

/**
 * @author chenhailong
 *上午10:09:22
 *com.chenhailong.main
 */
public class Main {

    /**
     * Hibernate 3 dialect modify net.sf.hibernate -> org.hibernate 
     */
    public static void main(String[] args) {
        Session session = getSession();
        //insertTUser(session);
        //selectTUser(session);
        deleteTUser(session);
        session.close();
    }

    public static Session getSession() {
        Configuration cfg = new Configuration().configure();
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        Session session = sessionFactory.openSession();
        return session;
    }

    public static Session getSession(String fileName) {
        File file = new File(fileName);
        Configuration cfg = new Configuration().configure(file);
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        Session session = sessionFactory.openSession();
        return session;
    }

    public static void insertTUser(Session session) {
        Transaction tx = session.beginTransaction();
        TUser t_user = new TUser();
        t_user.setName("chenhailong");
        session.save(t_user);
        session.flush();
        tx.commit();
    }

    @SuppressWarnings("unchecked")
    public static void selectTUser(Session session) {
        String hql = " from TUser where name='chenhailong'";
        try {
            List<TUser> userList = session.createQuery(hql).list();
            for (TUser user : userList) {
                int id = user.getId();
                String name = user.getName();
                System.out.println(id + "\t" + name);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void deleteTUser(Session session) {
        Transaction tx = session.beginTransaction();
        TUser user = (TUser) session.get(TUser.class, new Integer(1));
        session.delete(user);
        tx.commit();
    }

    public static void deleteTUserUseHQL(Session session) {
        Transaction tx = session.beginTransaction();
        session.delete("from TUser where id = 1");
        tx.commit();
    }

    public static void deleteTUseHQLByQuery(Session session) {
        String hql = "delete TUser where id = 1";
        Query query = session.createQuery(hql);
        query.executeUpdate();
    }

}

 

0
1
分享到:
评论

相关推荐

    Hibernate1

    对 Hibernate 初体验 1.新建一个java工程,工程名为Hiberante1 2.导入相应的jar包 1)hibernate需要导入这些包 2)因为我们需要操作数据库所以要导入数据库的包,我用的mysql数据库 3.创建数据库以及表 ...

    Hibernate初体验及简单错误排除代码详解

    主要介绍了Hibernate初体验及简单错误排除代码详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    Hibernate Service Register机制初体验

    NULL 博文链接:https://weizhilizhiwei.iteye.com/blog/2029392

    JPA学习笔记-EJB-01JPA初体验

    学习中使用的持久层技术 是 EJB,JPA 注解方式,底层应用的是 Hibernate 实现和 MySql 数据库,应用服务器采 用的是 JBoss 4.2.0。随着笔者的学习笔记,大家一起学习吧,还是那句话,有什么问题 大家一起探讨。有...

    java从入门到精通70个PPT

    19 Jsp与动态网站初体验 20 状态管理 21 JSTL和EL 22 JSP综合运用 23-24 项目案例:论坛短消息 25-26 项目案例:电子书城 27 Servlet基础 28 servlet应用 29 JSP+Servlet+JavaBean 30自定义MVC框架 31 指导学习:...

    SSH相关整合的总要资料

    SSH初体验 1 什么是SSH 都说Y2学年J2EE方向的学习重点是SSH框架的掌握。那么什么是SSH呢?是否真的开发J2EE大型框架很难呢?今天我们将通过一个实例,在常用IDE—Eclipse3.2.2+MyEclipse5.5.1+Tomcat6.0的基础之上给...

    Eclipse开发入门与项目实践 源代码

    案例8-1 Eclipse中插件开发初体验 274 8.2 Eclipse插件开发基本过程 277 案例8-2 Eclipse中插件开发的基本过程 277 8.3 基于数据库系统的Eclipse插件开发 288 案例8-3 Eclipse插件中数据库的应用 288 第...

    JessMA Java Web 应用开发框架 (v3.2.2-20130815).pdf

    JessMA在设计之初就充分注重功能、性能与使用体验。JessMA主要特点: 1) 功能全面:内置稳定高效的MVC基础架构和DAO框架,支持Action拦截、Form Bean / Dao Bean / Spring Bean装配和声明式事务,提供国际化、文件...

    基本于J2EE的Ajax宝典.rar

    第 2章 Ajax 初体验 5 2.1 Ajax带来的优势 5 2.2 传统的 JSP 聊天室 6 2.2.1 实现业务逻辑组件 7 2.2.2 实现控制器 11 2.2.3 实现视图 12 2.2.4 JSP聊天室的问题 14 2.3 Ajax聊天室 14 2.3.1 异步发送请求 ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    SSH 为 Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久...

Global site tag (gtag.js) - Google Analytics