一.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 开发流程的更多相关文章

  1. hibernate开发流程

    开发流程,注意:每个hibernate版本在集成的时候是不太一样的.本次使用的是hibernate-distribution-3.6.10.Final-dist 一.开发流程 1)在数据库中创建表,代 ...

  2. Hibernate 开发流程

    Hibernate内部分装的技术:JDBC(Java Data Base Connectivity), JTA(Java Transaction API) , JNDI(Java Naming and ...

  3. Hibernate的基本开发流程

    一.Hibernate开发的基本流程 二.Hibernate开发的环境搭建 1.引入Hibernate核心包以及Hibernate依赖包即可.可以在Hibernate目录下的\lib\required ...

  4. Hibernate工作流程

    Hibernate创建步骤 (五大核心接口:Configuration/SessionFactory/Session/Transaction/Query) 1.新建工程,导入需要的jar包. 2.利用 ...

  5. 一 Struts2 开发流程

    SSH与SSM简介SSM:Spring+SpringMVC+MybatisSSH:Struts2+Hibernate+SpringStruts2:是侧重于控制层的框架Hibernate:是一个ORM( ...

  6. mybatis与hibernate运行流程比较

    hibernate长时间没用,感觉生疏了,正好借这篇文章整合下知识,顺便复习比较下两种框架. 概述: Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己 ...

  7. Spring详细基本开发流程

    LOGO 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star! 搜索关注微信公众号 码出Offer 领取各种学习资料! 一.Spring概述 1.1 Web开发中的一些问 ...

  8. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  9. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

随机推荐

  1. windows安装IDEA

    1.安装下载 https://www.jetbrains.com/idea/download/#section=windows 2.服务器激活地址: 39.129.9.34:8888 https:// ...

  2. .NET Core微服务之基于IdentityServer建立授权与验证服务(续)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 上一篇我们基于IdentityServer4建立了一个AuthorizationServer,并且继承了QuickStartUI,能够成功 ...

  3. .NET Core微服务之基于Jenkins+Docker实现持续部署(Part 1)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.CI, CD 与Jenkins 互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous i ...

  4. LindDotNetCore~添加路由前缀

    回到目录 路由前缀就是我们所说的api/values里的api,这里的api可以用其它具体含义的字符表示,如Shop,Order,Game,它可以表示一个个模块,这一般在单体架构里;也可以是一个个小服 ...

  5. DirectX11 初探XMVECOTR&XMMATRIX

    初探DX11的数学库:向量XMVECOTR,矩阵XMMATRIX |XMVECTOR(XNA数学库的向量) DirectX中的一个核心数据类型为 XMVECTOR对它的运算可以使用SIMD指令集加速( ...

  6. zk分布式任务管理

    在我们的系统开发过程 中不可避免的会使用到定时任务的功能,而当我们在生产环境部署的服务超过1台时,就需要考虑任务调度的问题,防止两台或多台服务器上执行同一个任务,这个问题今天咱们就用zookeeper ...

  7. https浅析

    https浅析  http协议本身有着很大的缺陷  1. 通信使用明文,若被抓包,则直接被窃取信息  2. 不验证与自身通信者的身份,有可能遭到伪装  - 在数据传输的过程中,经过了某一计算机,该计算 ...

  8. MySQL优化小建议

    背景 "那啥,你过来一下!" "怎么了?我代码都单元测试了的,没出问题啊!"我一脸懵逼跑到运维大佬旁边. "你看看!你看看!多少条报警,赶快优化一下! ...

  9. DSAPI 远程协助之获取当前鼠标指针坐标及样式

    在编写远程协助类软件时,除了获取屏幕画面外,还需要获取鼠标当前的坐标以及当前的指针样式,以便让远程屏幕知道当前的操作状态. 使用DSAPI内置的鼠标指针类,可轻松获取. 代码如下: Imports D ...

  10. commandArgument用于绑定一个传递的参数

    CommandArgument ='<%#Eval("spid")+","+Eval("piaohao")%>'