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解释器去执行. 编程语言 机器语言---汇编语言(助记符)---高级语言 解释型语言:解释器将代码一 ...
随机推荐
- 前端基础-css(1)
一.css的引入方式 现在的互联网前端分三层: HTML:超文本标记语言.从语义的角度描述页面结构. CSS:层叠样式表.从审美的角度负责页面样式. JS:JavaScript .从交互的角度描述页面 ...
- Objective-C学习笔记(五)——数据类型与限定词
如同其它不论什么的编程语言一样,想要更深入的学习.必需要了解该门语言的数据类型与限定词. OC的数据类型例如以下: (1)int:整型: int a; int b=2; int ...
- Swift学习笔记四:数组和字典
Swift 提供两种集合类型来存储集合,数组和字典. 数组是一个同类型的序列化列表集合.字典是一个能够使用相似于键的唯一标识符来获取值的非序列化集合.也就是说数组是有序的.字典是无序的. 一. 数 ...
- win7开启特定端口
win7开启特定端口 在xp系统的时代,修改防火墙很方便,很简单.windows7或许是做得过于复杂了.当然所谓安全性也是相当于其他之前版本的系统更高了.为什么要打开端口,肯定是在win ...
- SQL基础一
一.什么是SQL? SQL是结构化查询语言 SQL使我们有能力访问数据库 SQL是一种ANSI的标准计算机语言 二.SQL能做什么? SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可 ...
- 《Spring Boot 实战》随记
第一部分 Spring 4.x 1. Spring基础 略过 2. Spring常用配置 2.1 Bean的scope 使用@Scope注解配置scope.默认signleton,原型模式protot ...
- Codeforces Round #396 (Div. 2) C. Mahmoud and a Message
地址:http://codeforces.com/contest/766/problem/C 题目: C. Mahmoud and a Message time limit per test 2 se ...
- POJ - 3177 Redundant Paths (边双连通缩点)
题意:在一张图中最少可以添加几条边,使其中任意两点间都有两条不重复的路径(路径中任意一条边都不同). 分析:问题就是最少添加几条边,使其成为边双连通图.可以先将图中所有边双连通分量缩点,之后得到的就是 ...
- ubuntu中在Launcher上添加Android Studio的运行图标
运行命令创建desktop文件: sudo gedit /usr/share/applications/android_studio.desktop 打开窗口后输入以下内容,注意Exec和Icon要修 ...
- ajax 事件使用
error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLH ...
