初次使用hibernate

By | 03月09日
Advertisement

1、在servlet中调用hibernate中的方法时,必须将hibernate中的包放在WEB-INF下的lib文件夹下,否则会报java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter异常。
2、出现h2.org.driver异常,是因为缺少h2-1.3.164.jar包造成的。
3、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.hbm2ddl.auto">update</property>
    <!-- 设置数据库驱动 -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <!-- 设置数据库url -->
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/nginx_report</property>
    <!-- 数据库用户名 -->
    <property name="hibernate.connection.username">root</property>
    <!-- 数据库密码 -->
    <property name="hibernate.connection.password">123456</property>
    <!-- 指定数据库的方言,hibernate为了更好适配各种关系数据库,针对针对每种数据库都指定了一种方言dialect -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <!-- 映射文件 -->
    <mapping resource="com/zjlao/createtable/UrlCount.hbm.xml" />
  </session-factory>
</hibernate-configuration>

此配置文件是由org.hibernate.cfg.Configuration自动获取的,必须放在src目录下

4、UrlCount.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 package="com/zjlao/createtable">
    <!-- 生成数据表 -->
    <class name="com.zjlao.createtable.UrlCount" table="urlcount_20170308">
        <id name="url">
            <!-- 算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID -->
            <generator class="uuid"></generator>
        </id>
        <property name="sum"></property>
    </class>

</hibernate-mapping>

id必须为UrlCount类中的字段
5、UrlCount类

package com.zjlao.createtable;

public class UrlCount {
    private String url;
    private String sum;
    public String getSum() {
        return sum;
    }
    public void setSum(String sum) {
        this.sum = sum;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
}

6、创建表

package com.zjlao.createtable;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

/*
 * 将hbm生成ddl
 */

public class ExportDB {
    public boolean createTable(){
        //默认读取hibernate.cfg.xml文件
        Configuration configuration = new Configuration().configure();
        //生成并输出sql到文件(当前文件)和数据库
        SchemaExport schemaExport = new SchemaExport(configuration);
        schemaExport.create(true,true);
        return true;
    }
    public static void main(String[] args) {
        ExportDB exportDB = new ExportDB();
        exportDB.createTable();
    }
}

将hibernate.cfg.xml,UrlCount.hbm.xml配置完成,UrlCount,
ExportDB类写好,运行ExportDB就能在数据库中创建urlcount_20170308表
初次使用hibernate

初次使用hibernate

Similar Posts:

  • 初次步入Hibernate Annotation

    Hibernate Annotation早已经出现... JPA早已被炒得爆了锅...但我才刚刚学习... 最近在重构网站的时候,类的移动免不了.虽然IDE帮了很多的忙,但在XML文件中的类路径不会变化..每次移了类都得再一个一个地找XML文件的类. 使用注解方式也得去修改XML文件,但相对于完全使用XML文件,减少了修改类之间有引用时的修改,只需要修改下总的配置文件就OK了.何乐而不会. 参考文章http://www.blogjava.net/bolo/archive/2008/09/19/2

  • hello world from hibernate

    初次学习hibernate,第一个程序,用的是XML配置文件 准备工作:下载hibernate的JAR包,我下的是当前最新的4.2.3,SQL的数据库驱动文件SQLJDBC,导入上述架包. 至此准备工作OK. 步骤: 1:定义一个类,这个类的属性,就是你要存放到数据库中的内容.当然有些属性可以不存入,这些还需要配置文件来决定. 我的类的定义: package com.hibernate.model; import java.util.Date; public class Log { public

  • hibernate中一对多关系的映射

    昨天初次接触hibernate,仅仅弄懂了一对一关系的映射.今天学习了一天又有了新的收获,弄懂了一对多之间关系的映射. 一.一对多的关系映射 建立一对多关系关系的表的原则是将一的一方的主键加入到多的一方的表作为外键.这里以员工和部门为例子来演示.以前不用hibernate时建立pojo类要在员工类Emp中加入一个属性,即部门编号deptid.使用hibernate则不同了,需要在"一"的一方类中加入一个set集合,里面存放"多"的一方的对象.而在"多&qu

  • Hibernate介绍和初次环境配置

    Hibernate简介 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任. --------------------------- Hibernate核心

  • Hibernate的初次使用

    使用hibernate的四个步骤:第一:创建一个hibernate.cfg.xml.<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!--声明Hibernate配置文件的开始--&

  • 初识hibernate

    //针对myEclipse2014版本 怎样新建一个工程实现这些东西的导入. 打开myeclipse. 2.点击右上角的open perspective 找到这个 MyEclipse Database Explorer.点击ok. 3.右键新建数据库驱动器 4.新建这样一个用以链接的数据库: 5.然后完成第三部的那个创建目录: 6. 选择要展示的视图, 1)展示所有视图 2)展示默认视图 3)展示选中视图 3)a.当前这个 链接里面可以对应到的数据库 b.下图为对应 c.选择我们新建立的数据库:

  • SQLServer2000使用Hibernate翻页失败的问题(2)

    最近在修改一个多年前的项目,项目使用的是S2SH + SQLServer 2000 ,在初次打开列表页面的时候正常,在点击下一页或者其他页的时候就出错(所有模块均如此),出错信息如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

  • Hibernate延迟加载和OpenSessionInView

    ThreadLocal<T>类在Spring,Hibernate等框架中起到了很大的作用.ThreadLocal类的使用虽然是用来解决多线程的问题的,但是还是有很明显的针对性.synchronized是用来处理多线程环境下的数据同步,而ThreadLocal只是为了保存当前线程私有的某种状态. 1.最明显的,ThreadLoacl变量的活动范围为某线程,并且我的理解是该线程"专有的,独自霸占",对该变量的所有操作均有该线程完成!也就是说,ThreadLocal不是用来解决共

  • 用Hibernate查询有下划线的表字段遇到的问题

    正在用Seam+Spring+Hibernate开发一个物流相关的项目,下午QA发现了一个这样的问题: 当用某些字段作为条件查找的时候,会出错.后来经过查看Hibernate的log日志,发现Hibernate产生的Sql语句中凡是有下划线的都没有正确解析到:比如: Entity Class Snippet: private Float ctnnweight; private Float ctngweight; private Integer quantityPerCtn; ..........

  • ssh整合系列博客——(1)spring和hibernate整合的异常解决

    前言: 本人最近一直在研究ssh框架,在ssh整合的过程中难免会遇到各种各样的问题,因此,本人打算写下一系列博客来记录ssh整合过程中锁收获到的点点滴滴,同时,希望本系列博客能够帮助到在java web开发中遇到ssh相关问题的朋友. 本项目整体采用的是基于Annotation的ssh整合开发 1.开发环境:tomcat 7.0 jdk 1.7 mysql 5.1 2.开发工具:myeclipse 10.0 3.ssh框架版本:struts2 2.1.6 + hibernate 3.0 + sp

Tags: