hibernate环境搭建及操作
一、导入jar包。
1.hibernate的jar包
2.jdbc的jar包
二、配置Hibernate。建立hibernate.cfg.xml
mysql配置如下:
<!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="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/fruit?characterEncoding=GBK</property>
<mapping resource="com/itnba/maya/bean/Fruit.hbm.xml"/> </session-factory>
</hibernate-configuration>
Oracle配置如下:
<!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="hibernate.dialect">org.hibernate.dialect.Oracle8iDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<mapping resource="com/itnba/maya/bean/Fruit.hbm.xml"/> </session-factory>
</hibernate-configuration>
ORM
三、准备数据库

四、准备实体(建议使用:引用类型。建议类名属性名与列名一致)
package com.itnba.maya.bean;
public class Fruit {
private String ids;
private String name;
private Double price;
private String source;
private Integer numbers;
private String image;
public String getIds() {
return ids;
}
public void setIds(String ids) {
this.ids = ids;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public Integer getNumbers() {
return numbers;
}
public void setNumbers(Integer numbers) {
this.numbers = numbers;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}
五、准备映射文件 实体类名.hbm.xml 例:Fruit.hbm.xml
<!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.itnba.maya.bean"> <class name="Fruit" table="Fruit">
<id name="ids">
<generator class="assigned"/>
</id>
<property name="name"/>
<property name="price"/>
<property name="source"/>
<property name="numbers" />
<property name="image"/>
</class>
</hibernate-mapping>
六、通过hibernate进行数据库的增删改查
1.增:
package com.itnba.maya.test;
import org.hibernate.*;
import org.hibernate.cfg.*;
import com.itnba.maya.bean.Fruit;
public class Test1111 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Configuration config =new Configuration().configure();
SessionFactory factory =config.buildSessionFactory();
Session session =factory.openSession();
Fruit data = new Fruit();
data.setIds("s002");
data.setName("猕猴桃");
data.setPrice(10.0);
data.setNumbers(100);
data.setSource("博山");
try{
session.beginTransaction();
session.save(data);
session.getTransaction().commit();
}
catch(Exception ex){
session.getTransaction().rollback();
}
session.close();
} }
2.查找
package com.itnba.maya.test;
import java.util.*;
import org.hibernate.*;
import org.hibernate.cfg.*;
import com.itnba.maya.bean.Fruit;
public class Test1111 {
public static void main(String[] args) {
Configuration config =new Configuration().configure();
SessionFactory factory =config.buildSessionFactory();
Session session =factory.openSession();
Fruit data =session.load(Fruit.class, "k001");//查单条数据
List<Fruit> list = session.createQuery("from Fruit").getResultList();//查所有数据
}
}
3.删除(先查再删)
package com.itnba.maya.test;
import org.hibernate.*;
import org.hibernate.cfg.*;
import com.itnba.maya.bean.Fruit;
public class Test1111 {
public static void main(String[] args) {
Configuration config =new Configuration().configure();
SessionFactory factory =config.buildSessionFactory();
Session session =factory.openSession();
Fruit data =session.load(Fruit.class, "k001");
if(data != null){
try{
session.beginTransaction();
session.delete(data);
session.getTransaction().commit();
}
catch(Exception ex){
session.getTransaction().rollback();
}
}
}
}
4.改(先查再改)
package com.itnba.maya.test;
import org.hibernate.*;
import org.hibernate.cfg.*;
import com.itnba.maya.bean.Fruit;
public class Test1111 {
public static void main(String[] args) {
Configuration config =new Configuration().configure();
SessionFactory factory =config.buildSessionFactory();
Session session =factory.openSession();
Fruit data =session.load(Fruit.class, "k002");
if(data != null){
try{
session.beginTransaction();
data.setPrice(8.0);
data.setNumbers(110);
session.update(data);
session.getTransaction().commit();
}
catch(Exception ex){
session.getTransaction().rollback();
}
}
} }

hibernate环境搭建及操作的更多相关文章
- Hibernate学习之——Hibernate环境搭建
之前在写关于安卓闹钟的教程,写了一半就没后一半了,其实自己也没做好,在校外实习,校内毕业实习又有任务,只能先放放了,等毕业实习结束之后,在继续安卓闹钟开发之旅,相信这个时间不会很久的.现在毕业实习用到 ...
- Hibernate之Hibernate环境搭建
Hibernate之Hibernate环境搭建 一.Hibernate环境搭建的步骤 1.添加Hibernate && SQLServer 的Jar antlr-2.7.7.jar d ...
- 一、hibernate环境搭建
hibernate环境搭建 下载hibernate hibernate的jar 连接数据库的jar 解压hibernate,解压后目录结构 documentation :对应hibernate开发文档 ...
- Hibernate环境搭建超详细
前言 环境搭建其实可以简单到导入相关jar包即可. 但是对于学习来说,这个环境搭建的内容还是挺多的,目的是提供一个让我们如何快速学习和掌握类库的学习环境.作为程序猿,学习和使用类库是必须掌握的技能.如 ...
- SSH环境搭建之Hibernate环境搭建篇
SSH环境搭建之Hibernate环境搭建篇 搭建有两种方式: 1.使用IntelliJ IDEA或者MyEclipse的逆向工程(关系模型 -> 对象模型),我使用的是IntelliJ IDE ...
- Hibernate环境搭建
Hibernate的环境搭建,主要步骤分为一下四步: 首先创建一个工程,在工程里创建一个实体类User,在这个实体类中必须包含无参的构造器,和这个类对属性的存取方法(getter and setter ...
- Hibernate环境搭建+struts整合
说明:本文档,是和struts2+hibernate的整合示例. lib下还有struts2的jar包,本示例没有显示.struts2的搭建参考struts2的环境搭建 一下载hibernate的ja ...
- springmvc+spring-data-jpa+hibernate环境搭建与配置
1.JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现.在ORM框架中,Hibernate是一支 ...
- monkey测试环境搭建 及 操作步骤
1.环境搭建 a.下载安卓SDK 链接:https://pan.baidu.com/s/1-OB6UVPvl5-N-vFdykfMmA 提取码:3spx b.配置环境变量(配置完成,重启系统,配置生效 ...
随机推荐
- 转:C#中Undo/Redo的一个简易实现
一个比较常见的改进用户体验的方案是用Redo/Undo来取代确认对话框,由于这个功能比较常用,本文简单的给了一个在C#中通过Command模式实现Redo/Undo方案的例子,以供后续查询. clas ...
- 转:在 C# 中使用 P/Invoke 调用 Mupdf 函数库显示 PDF 文档
在 C# 中使用 P/Invoke 调用 Mupdf 函数库显示 PDF 文档 一直以来,我都想为 PDF 补丁丁添加一个 PDF 渲染引擎.可是,目前并没有可以在 .NET 框架上运行的免费 PDF ...
- flutter stack
import 'package:flutter/material.dart'; void main() { runApp(MaterialApp(home: new MyApp())); } clas ...
- Html from 标签
Html from 标签 <html> <body> <!-- form 提交表单设置 --> <form> <input type=" ...
- Python 匿名变量
匿名变量的使用 calc = lambda x:x*3 print(calc(3)) 注:匿名变量是没有名字的变量 注:使用:lambda 创建.
- Python爬虫——你们要的王者荣耀高清图
曾经144区的王者 学了计算机后 头发逐渐从李白变成了达摩 秀发有何用,变秃亦变强 (emmm徒弟说李白比达摩强,变秃不一定变强) 前言 前几天开了农药的安装包,发现农药是.Net实现的游戏 虽然游戏 ...
- 剑指offer(60)把二叉树打印成多行
题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 题目分析 从上到下打印二叉树我们知道用队列可以实现,但是如果多行打印怎么做呢? 我们需要分割,在行与行之间进行分割.如何分割 ...
- 【新特性】JDK1.5
一.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用i ...
- IdentityServer4中AccessToken和IdentityToken中包含的Claims构成
贴出主要代码(以下源码的位置位于:IdentityServer4.Services.DefaultClaimsService) /// <summary> /// Returns clai ...
- Cookie和Seesion
会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10 ...