- 浏览: 143297 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
flyingcatjj:
很适合我这种刚接触的
myeclipse xfire 开发webservice实例 -
tangzlboy:
非常好,非常详细,非常中用。
linux入门 -
yzz9i:
楼主说的很是详细。
myeclipse xfire 开发webservice实例 -
zqx888191:
很再理阿!
老程序员的教诲 -
simplecat123:
...
SQLite数据读取
写道
下载的hibernate解压目录
hibernate3.jar是hibernate的核心包
doc 文档
eg 例子程序
etc 配置文件
grammar 语法
lib 依赖的包
src hibernate源代码
test 测试用例
ORM Object Relation Mapping对象关系映射 主流的ORM框架有Hibernate、TopLink、OJB。
配置文件 hibernate.cfg.xml和hibernate.properties两种 一般使用xml形式
开发一个小例子
新建一个java项目 把hibernate的包全都引入到工程中
创建一个实体类 User
package dao.service;
import java.util.Date;
public class User {
private int id;
private String name;
private Date birthday;
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 Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
实体类的映射文件 User.hbm.xml 这个文件有点复杂 可以从hibernate的eg目录下找一个同样
的模板 修改下即可
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="dao.service">
<class name="User">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="birthday"/>
</class>
</hibernate-mapping>
引入配置文件 把模板程序拷贝到包的根目录下 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="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">jdbc:mysql:///test</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- 指定其方言 方言的作用就是告诉hibernate是哪种数据库 -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- 指定其hibernate是否根据映射文件自动创建表 -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="dao/service/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
创建测试类
package dao.test;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import dao.service.User;
public class Base {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//对hibernate进行初始化操作
Configuration ctf=new Configuration();
ctf.configure();
//获取连接工厂
SessionFactory sf=ctf.buildSessionFactory();
//获取连接对象
Session s=sf.openSession();
Transaction tx=s.beginTransaction();
User user=new User();
user.setBirthday(new Date());
user.setName("name");
s.save(user);
tx.commit();
s.close();
System.out.print("end");
}
}
注意 对hibernate的配置文件的引入可以参考etc下的hibernate.properties
这里可以找到完整的配置信息
注意点1
## auto schema export
#hibernate.hbm2ddl.auto create-drop
#hibernate.hbm2ddl.auto create
#hibernate.hbm2ddl.auto update
#hibernate.hbm2ddl.auto validate
这是指定其hibernate是否可以根据映射文件建表
create-drop 这种形似指的是在程序在运行的时候就自动把以往同样的表给删除 只可以在测试环境下使用
create 这种跟create-drop一样
update 这种最实用 hibernate可以自动检查数据库中的表是否存在 如果不存在,就创建 存在,就更新其表中数据
validate 验证映射文件跟表是否一致,不一致就异常
注意点2
映射文件必须配置到hibernate配置文件中 不然hibernate会找不到该映射文件
注意点3 必须指定其方言 告诉其hibernate是采用的是什么数据库
注意点4 hibernate其实底层是基于jdbc操作的
注意点5 jdbc的事务是自动提交的 但是在hibernate中,事务的自动关闭了,但是有时候不开启事务发现数据也
能插入到数据库中 这是为什么呢,这是由表结构的引擎所决定的 查看表结构的方法 在命令行中
输入 show create table user; 有些引擎是不支持事务的 所以你开启事务和不开启事务是没什么区别的
mysql5版本后的数据库表结构的默认引擎是 InnoDB 这种是支持事务的
查看所有引擎的方法 在命令行输入 show engines;
完毕 end !
hibernate3.jar是hibernate的核心包
doc 文档
eg 例子程序
etc 配置文件
grammar 语法
lib 依赖的包
src hibernate源代码
test 测试用例
ORM Object Relation Mapping对象关系映射 主流的ORM框架有Hibernate、TopLink、OJB。
配置文件 hibernate.cfg.xml和hibernate.properties两种 一般使用xml形式
开发一个小例子
新建一个java项目 把hibernate的包全都引入到工程中
创建一个实体类 User
package dao.service;
import java.util.Date;
public class User {
private int id;
private String name;
private Date birthday;
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 Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
实体类的映射文件 User.hbm.xml 这个文件有点复杂 可以从hibernate的eg目录下找一个同样
的模板 修改下即可
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="dao.service">
<class name="User">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="birthday"/>
</class>
</hibernate-mapping>
引入配置文件 把模板程序拷贝到包的根目录下 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="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">jdbc:mysql:///test</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- 指定其方言 方言的作用就是告诉hibernate是哪种数据库 -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- 指定其hibernate是否根据映射文件自动创建表 -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="dao/service/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
创建测试类
package dao.test;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import dao.service.User;
public class Base {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//对hibernate进行初始化操作
Configuration ctf=new Configuration();
ctf.configure();
//获取连接工厂
SessionFactory sf=ctf.buildSessionFactory();
//获取连接对象
Session s=sf.openSession();
Transaction tx=s.beginTransaction();
User user=new User();
user.setBirthday(new Date());
user.setName("name");
s.save(user);
tx.commit();
s.close();
System.out.print("end");
}
}
注意 对hibernate的配置文件的引入可以参考etc下的hibernate.properties
这里可以找到完整的配置信息
注意点1
## auto schema export
#hibernate.hbm2ddl.auto create-drop
#hibernate.hbm2ddl.auto create
#hibernate.hbm2ddl.auto update
#hibernate.hbm2ddl.auto validate
这是指定其hibernate是否可以根据映射文件建表
create-drop 这种形似指的是在程序在运行的时候就自动把以往同样的表给删除 只可以在测试环境下使用
create 这种跟create-drop一样
update 这种最实用 hibernate可以自动检查数据库中的表是否存在 如果不存在,就创建 存在,就更新其表中数据
validate 验证映射文件跟表是否一致,不一致就异常
注意点2
映射文件必须配置到hibernate配置文件中 不然hibernate会找不到该映射文件
注意点3 必须指定其方言 告诉其hibernate是采用的是什么数据库
注意点4 hibernate其实底层是基于jdbc操作的
注意点5 jdbc的事务是自动提交的 但是在hibernate中,事务的自动关闭了,但是有时候不开启事务发现数据也
能插入到数据库中 这是为什么呢,这是由表结构的引擎所决定的 查看表结构的方法 在命令行中
输入 show create table user; 有些引擎是不支持事务的 所以你开启事务和不开启事务是没什么区别的
mysql5版本后的数据库表结构的默认引擎是 InnoDB 这种是支持事务的
查看所有引擎的方法 在命令行输入 show engines;
完毕 end !
发表评论
-
二十六 Hibernate实践
2011-07-04 19:18 681不适合OLAP以查询分析数据为主的系统。适合OLTP联机事务处 ... -
二十五 SQL和命名查询
2011-07-04 19:17 1003SQL和命名查询 SQL查询 //根据sql语句查询 s ... -
二十四 拦截器与监听器
2011-07-04 19:14 919在保存 更新等操作的前 ... -
二十三 iterate查询与N+1次查询的问题
2011-07-04 19:13 737test.java view plaincopy to ... -
二十二 Hibernate映射文件配置
2011-07-04 19:12 831id 主键生成方式 incremen ... -
二十一 串讲Hibernate配置文件中的配置项
2011-07-04 19:11 841数据源配置 ## JNDI Datasource ... -
二十 悲观锁和乐观锁
2011-07-04 19:10 688为了避免对对象同步操作时候产生的数据不一致问题,我们对对象采用 ... -
十九 hibernate3之缓存
2011-07-04 19:09 871什么是缓存?现在我们来看一个模拟的缓存操作 模拟一个缓存例子 ... -
十八 一对一对象的懒加载
2011-07-04 17:59 703一对一对象的懒加载,对于主的一方,lazy是无效的,它在访问数 ... -
十七 懒加载
2011-07-04 17:58 666十七 懒加载 什么是hibe ... -
十六 继承映射
2011-07-04 17:56 439第一种 一个员工类它有两个子类,利用hibernate我们把 ... -
十五 cascade 级联操作与inverse表是否放弃维护关联关系
2011-07-04 17:54 804cascade 级联操作字段 Casade用来说明当对主对 ... -
十四 在hibernate中使用集合总结
2011-07-04 17:52 847集合映射(set, list, array,bag, map) ... -
十三 array数组形式的映射
2011-07-04 17:51 788数组其实跟List的集合映射没有多大的差别,当然它不可以使用b ... -
十二 集合映射之Map集合
2011-07-04 17:49 740十二 Map集合映射 Map是以键值对的形式存放数据的 ... -
十一 集合映射 List集合
2011-07-04 17:47 996十一 集合映射 set的 ... -
十 组件关联
2011-07-04 17:45 644组件关联 什么是组件关联呢?比如说一个用户,它的名称,有一 ... -
九 多对多关系 学生<--->老师的关系
2011-07-04 17:44 1173九 多对多关系 学生<--->老师的关系 多对多 ... -
八 一对一 用户与身份证的关系
2011-07-04 17:42 814八 一对一 用户与身份证的关系 设计用户实体 主实体 ... -
七 一对多关系 部门与员工的关系
2011-07-04 17:41 1084一对多 部门与员工的关系 相对于部门来说 一对多 根据先前 ...
相关推荐
电影售票系统采用struts+hibernate再结合java的dao模式框架做的,具有典型的mvc结构,在后台操作电影影片中:在添加电影这步,我用了上传案例结合...很不错的例子,相信大家看后能比较清晰认识struts和hibernate
许多有经验的开发人员都有一个共同的认识,那就是Hibernate要比Struts和Spring难掌握得多,初学者要想学好Hiberante就更是难上加难了!本课程的讲解者李勇老师的技术功底非常深厚,课程内容组织得非常合理和巧妙,...
主要讲解Hibernate中的Criteria的认识
Hibernate详细的架构图,很好的架构系统,能全面认识Hibernate。
Hibernate入门操作,通过向Mysql数据库中添加数据来认识Hibernate的工作流程和思想,以及生成表和操作表的方法
hibernate的学习手册,适用于对hibernate有一定了解的人,一次对hibernate有更加全面的认识。
Hibernate 初认识 Hibernate 的HelloWorld hibernate.cfg.xml 配置详解 *.hbm.xml 对象映射文件详解 Hibernate 核心接口详解 抽取HibernateUtil 工具类 使用Session 接口进行增删改查
可以对hibernate的 Session 和 Transaction 有更深入的认识 希望对一些概念比较模糊的人 有帮助
Hibernate是一个不依赖其他平台的轻量级的中间件,现在到处充斥着通过各种工具使用Hibernate进行开发的教程,如 ...下面的讲解就是使用这种方法,让大家认识Hibernate。需要的软件有:Eclipse + MySQL + Hibernate。
hibernate缓存的问题,使你更清楚的认识HIBERNATE
Hibernate_Query_Language基础认识,主要是使用了一些HQL的特性,用idea搭建,适合小白上手
缺少包一个有javaweb后台使用hibernate和spring框架android移动端的帮助老师认识学生的应用.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
最近在群里好多朋友,不管认识还是不认识的,都问到SSH2框架整合搭建的问题。于是乎,抽了个空,理了个文档出来,里面是整合搭建的详细步骤以及截图,并附上了使用到的相应jar包。新手的最佳选择。
看完本文后,我相信你对什么是ORM(对像/关系映射)以及它的优点会有一个深刻的认识, 我们先通过一个简单的例子开始来展现它的威力。 正如一些传统的经典计算机文章大都会通过一个“hello,world”的例子...
hibernate最小支持库,免去你从一大堆支持jar包里整理出最少需求jar包的麻烦,为你入门hibernate创造清新简洁的lib页面,让你快速认识hibernate支持jar包的作用
这个案例是根据分组查询,并且得到每组的条数,不懂得可以q我:1710086675,欢迎认识更多新朋友
01.Hibernate编程基础-认识ORM 02.Hibernate编程基础_入门 03.Hibernate编程基础_映射基础 04.Hibernate编程基础_实体关联 05.Hibernate编程基础_数据检索
对初学者有很大帮助,初步认识mvc,了解hibernate的具体操作。。。。。。。。。。。。。。。。。。
本文是对深入浅出Hibernate学习做的学习笔记,是个人在对深入浅出Hibernate学习中的一点认识和看法
学习Hibernate的好资料,让你对Hibernate有全新的认识。