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.配置环境变量(配置完成,重启系统,配置生效 ...
随机推荐
- js实现多行文本溢出省略
实现效果: css: position: relative; line-height: 20px; max-height: 60px; js: function overflowHiddon(el) ...
- easy ui datatimebox databox 当前时间
databox 当前日期: class="easyui-datebox" var curr_time = new Date(); var strDate = curr_time. ...
- GDscript风格指南
(惯例感谢godot开发组~~·) 缩进 缩进类型:Tabs (编辑器默认) 缩进大小:4 (编辑器默认) 每个缩进级别必须大于包含它的代码块. 良好的: for i in range(10): pr ...
- python 匿名函数捕获变量值 (执行时的值)
- CSS——对height和line-height的理解
最近在做CSS界面时经常遇到line-height和height这两个属性,一直没搞很明白,今天静下心来好好网上查阅了一下,算是有所领悟.https://blog.csdn.net/a20131263 ...
- Python+OpenCV图像处理(十四)—— 直线检测
简介: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像中分离出具有某种相同特征的几何形状(如,直线 ...
- Linux命令(一)
一:命令介绍,目录结构,基本格式 linux命令格式: command [-options] [parameter1] ... 带-就是选项,不带-就是参数 ls ---文件显示 ls ...
- for循环介绍
流程控制之for循环names=['yb','zs','yxd','lb'] i=0 while i < len(names): #4 < 4 print(names[i]) i+=1 # ...
- 浅析vue实例的生命周期(生命周期钩子)
“每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等” ,在不同的生命周期内会经历不同的钩子函数(生命周期 ...
- 使用JS调用手机本地摄像头或者相册图片识别二维码/条形码
接着昨天的需求,不过这次不依赖微信,使用纯js唤醒手机本地摄像头或者选择手机相册图片,识别其中的二维码或者是条形码.昨天,我使用微信扫一扫识别,效果超棒的.不过如果依赖微信的话,又怎么实现呢,这里介绍 ...