hibernate框架环境搭建与使用
搭建环境
一、新建一个项目 , 导包 一个是hibernate的jar包,一个是jdbc的jar包
hibernate的jar包

这些jar包全部导入
二、配置Hibernate。
1.建立hibernate.cfg.xml文件, 包所在的文件夹的project里去搜索cfg.xml复制并修改

2.配置hibernate.cfg.xml文件
<!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><!-- 引用jdbc包 -->
<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/myzy?characterEncoding=GBK</property> <!-- 数据库链接 -->
<property name="show_sql">true</property> <!-- true 执行完在控制台打印SQL语句 -->
<!-- 表映射加载 -->
<mapping resource="com/itnba/maya/model/Fruit.hbm.xml"/> </session-factory>
</hibernate-configuration>
3.每个配置项的值可以从project/etc/hibernate.properties中搜索

三、准备数据库
四、准备实体(建议使用:引用类型。建议类名属性名与列名一致)
package com.itnba.maya.model;
public class Fruit {
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;
}
private String ids;
private String name;
private Double price;
private String source;
private Integer numbers;
private String image;
}
五、准备映射文件 实体类名.hbm.xml 例:Fruit.hbm.xml
1.建立:实体类名.hbm.xml文件。包所在的文件夹的project里去搜索hbm.xml复制并修改
要跟实体类放一个包里

2.配置实体类名.hbm.xml文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-lazy="false" package="com.itnba.maya.model"> <!-- 导入包 --> <class name="Fruit" table="Fruit"> <!-- 表名 -->
<id name="ids"> <!-- 主键 -->
<generator class="assigned"/><!-- 如果主键是自增长改为class="native" -->
</id>
<!-- 对应的各个字段名 -->
<property name="name"/>
<property name="price"/>
<property name="source"/>
<property name="numbers"/>
<property name="image"/> </class>
</hibernate-mapping>
六、写代码
说明:这里的session不是web中的session。
web中的session代表的是客户端与web服务器之间的会话。
这里的session指的是程序与数据库之前的会话,它是由hibernate进行管理的。
添加
package com.itnba.maya.test;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*; import com.itnba.maya.model.Fruit; public class AA { public static void main(String[] args) {
//读取hibernate.cfg.xml的配置,加载Hiberna的类库
Configuration config=new Configuration().configure();
//根据配置,生成session工厂
SessionFactory factory= config.buildSessionFactory();
//用工厂生成session
Session session =factory.openSession();
//添加
//1.造对象
Fruit data = new Fruit();
data.setIds("s002");
data.setName("芒果");
data.setSource("博山");
data.setPrice(10.0);
data.setNumbers(200);
data.setImage("无"); //2.用session.save()保存到数据库了
try{
session.beginTransaction();
session.save(data);
session.getTransaction().commit();
}
catch(Exception ex){
session.getTransaction().rollback();
} session.close();
} }

查询
package com.itnba.maya.test;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*; import com.itnba.maya.model.Fruit; public class AA { public static void main(String[] args) {
//读取hibernate.cfg.xml的配置,加载Hiberna的类库
Configuration config=new Configuration().configure();
//根据配置,生成session工厂
SessionFactory factory= config.buildSessionFactory();
//用工厂生成session
Session session =factory.openSession();
//查询
//查单条数据
Fruit data=session.get(Fruit.class, "k001");
System.out.println(data.getName()+data.getPrice()+data.getNumbers()); //查询所有数据
List<Fruit> list = session.createQuery("from Fruit").getResultList();
for(Fruit a:list){
System.out.println(a.getName()+a.getPrice()+a.getNumbers());
}
session.close();
} }
控制台显示

删除
package com.itnba.maya.test;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*; import com.itnba.maya.model.Fruit; public class AA { public static void main(String[] args) {
//读取hibernate.cfg.xml的配置,加载Hiberna的类库
Configuration config=new Configuration().configure();
//根据配置,生成session工厂
SessionFactory factory= config.buildSessionFactory();
//用工厂生成session
Session session =factory.openSession();
//删除
//先查出
Fruit data = session.load(Fruit.class,"k002");//get和load都可以查
if(data!=null){
session.beginTransaction();
//删除提交数据库
session.delete(data);
session.getTransaction().commit();
}
session.close();
} }

修改
package com.itnba.maya.test;
import java.util.List; import org.hibernate.*;
import org.hibernate.cfg.*; import com.itnba.maya.model.Fruit; public class AA { public static void main(String[] args) {
//读取hibernate.cfg.xml的配置,加载Hiberna的类库
Configuration config=new Configuration().configure();
//根据配置,生成session工厂
SessionFactory factory= config.buildSessionFactory();
//用工厂生成session
Session session =factory.openSession();
//修改
//1.查
Fruit data = session.load(Fruit.class,"s002"); if(data != null){
session.beginTransaction();
//2.改
data.setName("哈密瓜");
data.setPrice(11.1);
data.setNumbers(99);
//3.提交
session.update(data);
session.getTransaction().commit();
} session.close();
} }

hibernate框架环境搭建与使用的更多相关文章
- (01)hibernate框架环境搭建及测试
---恢复内容开始--- 1.创建javaweb项目 2.导包 hibernate包 hibernate\lib\required\*.jar 数据库驱动包 mysql-connector-java- ...
- eclipse中SSH三大框架环境搭建<三>
相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的 ...
- eclipse中SSH三大框架环境搭建<一>
这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...
- SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)
1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...
- eclipse中SSH三大框架环境搭建<二>
通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...
- 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...
- [Hibernate 1]Hibernate的环境搭建
一.Hibernate是什么 直接使用JDBC操作数据库的步骤很繁琐,JDBC操作的是关系型数据库,而我们用JAVA开发程序,则使用面向对象的思想.Hibernate正是在这两种不同的模型之间建立关联 ...
- 【Hibernate】hibernate框架的搭建
1, Hibernate 是什么 Hibernate是java应用程序与数据库交互的开发的框架. Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. 2,Hibernate框架的优点 ...
- 3/16 Django框架 环境搭建
3/16 Django框架 环境搭建 环境搭建 Python解释器 Python代码通过Python解释器去执行. 编程语言 机器语言---汇编语言(助记符)---高级语言 解释型语言:解释器将代码一 ...
随机推荐
- sql server自动化运维脚本
数据库运维中盛传一个小段子,我误删除了数据库,改怎么办?有备份还原备份,没有备份就准备简历!听起来有趣但发生在谁身上,谁都笑不起来.接触了很多的客户发现90%客户的运维策略都不是很完善.本篇就分享一些 ...
- python代码编辑器PyCharm快捷键补充
个人觉得特别有用的: 替换:Ctrl+R 删除当前行 CTRY Y: 复制当前行:Ctrl+D ALT F7: 查找哪些地方使用了选中的方法. ALT UP: 移到上一个方法 ALT DOWN: 移到 ...
- golang的多协程实践
go语言以优异的并发特性而闻名,刚好手上有个小项目比较适合. 项目背景: 公司播控平台的数据存储包括MySQL和ElasticSearch(ES)两个部分,编辑.运营的数据首先保存在MySQL中,为了 ...
- 基于mondrain 的原理纠正特殊指标值
原文地址:http://www.cnblogs.com/qiaoyihang/p/7348385.html 下面有两张表 数学试卷成绩 表1 学号 省份 批次 学校 试卷成绩 数学试卷小题成绩 表2 ...
- 连接postgresql
# psycopg2 engine=create_engine('postgresql+psycopg2://scott:tiger@localhost/mydatabase')# python 连 ...
- Python(装饰器)
eval 内容从字符串中提取出来,用Python运行一遍__name__得到函数名字 闭包函数 定义: 函数内部定义的函数称为内部函数 该内部函数包含对外部作用域,而不是对全局作用域的名字的引用 那么 ...
- Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找
Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找 //查找是否存在 var reg: TPerlRegEx; begin reg := TPerlRegEx.Cre ...
- OpenFileDialog.Filter 属性
如果 Filter 属性为 Empty,将显示所有文件. 始终显示文件夹. Filter 由以下部分组成:筛选器说明,后跟竖线 (|) 和筛选模式. 筛选器可以指定一个或多个文件类型. 说明描述了对话 ...
- Java基础知识陷阱(一)
本文发表于本人博客. 事隔好多年了,重新拿起来Java这门语言,看似熟悉其实还很陌生,想想应该梳理下顺便提高下自己.这次先来看看Java里面的String这个对象. 经典的先看下面一段代码,请问最终创 ...
- 使用阿里的maven库
快使用阿里云的maven仓库 自从开源中国的maven仓库挂了之后就一直在用国外的仓库,慢得想要砸电脑的心都有了.如果你和我一样受够了国外maven仓库的龟速下载?快试试阿里云提供的maven仓库,从 ...
