一。Hibernate 开发流程
一.hibernate和mybatis都是orm产品
1.orm:object-realation-mapping对象关系映射
二.开发步骤
1.导入相关jar 包括hibernate和oracle的驱动

2.在src目录下完成核心的配置文件
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="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.username">java</property>
<property name="connection.password">java123</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- 所有的实体类映射文件要在此处全部注册 -->
<mapping resource="com/pojo/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
3.写一个实体类
Student.java
package com.pojo;
import java.util.Date;
public class Student {
int studentId;
String studentName;
String studentSex;
int studentAge;
int classId;
Date birthday;
public Student() {
}
public Student(int studentId, String studentName, String studentSex, int studentAge, int classId, Date birthday) {
this.studentId = studentId;
this.studentName = studentName;
this.studentSex = studentSex;
this.studentAge = studentAge;
this.classId = classId;
this.birthday = birthday;
}
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentSex() {
return studentSex;
}
public void setStudentSex(String studentSex) {
this.studentSex = studentSex;
}
public int getStudentAge() {
return studentAge;
}
public void setStudentAge(int studentAge) {
this.studentAge = studentAge;
}
public int getClassId() {
return classId;
}
public void setClassId(int classId) {
this.classId = classId;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
4.给实体类写一个*.hbm.xml的映射配置文件
Student.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="com.pojo.Student" table="student_info" schema="JAVA">
<id name="studentId">
<column name="student_id"></column>
<!--主键的生成方式 -->
<generator class="increment"></generator>
</id>
<property name="studentName" column="student_name" type="java.lang.String"></property>
<property name="studentSex" column="student_sex" type="java.lang.String"></property>
<property name="studentAge" column="student_age" type="java.lang.Integer"></property>
<property name="classId" column="class_Id" type="java.lang.Integer"></property>
<property name="birthday" column="birthday" type="java.util.Date"></property>
</class>
</hibernate-mapping>
5.在hibernate.cfg.xml配置中加入映射文件的注册
见第2步
6.访问代码
Test.java
package com.dao; import java.util.Date;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder; import com.pojo.Student; public class Test { public static void main(String[] args) {
// 配置对象,用来获取核心配置文件的
// 如果核心配置文件名是:hibernate.cfg.xml,并且该文件在src根目录下,configure()可以不带参数
Configuration configuration = new Configuration().configure();
ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
SessionFactory sf = configuration.buildSessionFactory(sr);
Session session = sf.openSession(); Student stu = new Student(11,"你好","2",22,1,new Date());
// session.save(stu);
// session.delete(stu);
session.update(stu);
session.beginTransaction().commit();//提交事务 session.flush();
session.close();
} }
一。Hibernate 开发流程的更多相关文章
- hibernate开发流程
开发流程,注意:每个hibernate版本在集成的时候是不太一样的.本次使用的是hibernate-distribution-3.6.10.Final-dist 一.开发流程 1)在数据库中创建表,代 ...
- Hibernate 开发流程
Hibernate内部分装的技术:JDBC(Java Data Base Connectivity), JTA(Java Transaction API) , JNDI(Java Naming and ...
- Hibernate的基本开发流程
一.Hibernate开发的基本流程 二.Hibernate开发的环境搭建 1.引入Hibernate核心包以及Hibernate依赖包即可.可以在Hibernate目录下的\lib\required ...
- Hibernate工作流程
Hibernate创建步骤 (五大核心接口:Configuration/SessionFactory/Session/Transaction/Query) 1.新建工程,导入需要的jar包. 2.利用 ...
- 一 Struts2 开发流程
SSH与SSM简介SSM:Spring+SpringMVC+MybatisSSH:Struts2+Hibernate+SpringStruts2:是侧重于控制层的框架Hibernate:是一个ORM( ...
- mybatis与hibernate运行流程比较
hibernate长时间没用,感觉生疏了,正好借这篇文章整合下知识,顺便复习比较下两种框架. 概述: Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己 ...
- Spring详细基本开发流程
LOGO 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star! 搜索关注微信公众号 码出Offer 领取各种学习资料! 一.Spring概述 1.1 Web开发中的一些问 ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- 小谈Scrum敏捷开发流程
一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...
随机推荐
- PEACHPIE 0.9.11 版本发布,可以上生产了
PeachPie在官方博客(https://www.peachpie.io/2018/10/release-0911-visual-studio.html)发布了PeachPie的0.9.11版本 - ...
- 467. [leetcode] Unique Substrings in Wraparound String
467. Unique Substrings in Wraparound String Implement atoi to convert a string to an integer. Hint: ...
- Java转PHP的心路历程
首先,我要批评一下自己,已经好久没发博客了.总是拿奇奇怪怪的理由来妨碍自己写博客. emmmm,现在心里舒服一点了. 前提 在2018年的11月7号,我从广州跳槽到一个三线的小城市工作.跳槽原因比较羞 ...
- #Java学习之路——基础阶段二(第七篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- 浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协 ...
- python进程和线程(四)
线程同步条件.信号量及队列 同步条件(event) 下面是官方文档对event的一些解释: An event is a simple synchronization object; the event ...
- python的进程与线程(三)
线程的锁 1.几个概念 讲起线程的锁,先要了解几个概念:什么是并行?什么是并发?什么是同步?什么是异步? 并发:是指系统具有处理多个任务(动作)的能力 并行:是指系 ...
- 【重学计算机】机组D8章:输入输出系统
1. 输入输出系统概述 组成:外设.接口.总线.管理软件 基本功能 完成计算机内外的信息传递 保证CPU正确选择输出设备 利用缓冲等,实现主机与外设的速度匹配 特点:异步性.实时性.设备无关性 输入过 ...
- 利用SQL Profiler 追踪数据库操作
SQL Server 事件探查器 是一个界面,用于创建和管理跟踪并分析和重播跟踪结果. 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播一系列特定的步骤. SQL S ...
- Linux framebuffer deferred io机制
一.总体框架 deferred io机制主要用于驱动没有实现自刷新同时应用层又不想调用FBIOPAN_DISPLAY的一个折中方案, 使用ioctrl FBIOPAN_DISPLAY好处是节能, 驱 ...