搭建环境

一、新建一个项目 , 导包   一个是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框架环境搭建与使用的更多相关文章

  1. (01)hibernate框架环境搭建及测试

    ---恢复内容开始--- 1.创建javaweb项目 2.导包 hibernate包 hibernate\lib\required\*.jar 数据库驱动包 mysql-connector-java- ...

  2. eclipse中SSH三大框架环境搭建<三>

    相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的 ...

  3. eclipse中SSH三大框架环境搭建<一>

    这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...

  4. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...

  5. eclipse中SSH三大框架环境搭建<二>

    通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...

  6. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

  7. [Hibernate 1]Hibernate的环境搭建

    一.Hibernate是什么 直接使用JDBC操作数据库的步骤很繁琐,JDBC操作的是关系型数据库,而我们用JAVA开发程序,则使用面向对象的思想.Hibernate正是在这两种不同的模型之间建立关联 ...

  8. 【Hibernate】hibernate框架的搭建

    1, Hibernate 是什么 Hibernate是java应用程序与数据库交互的开发的框架. Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. 2,Hibernate框架的优点 ...

  9. 3/16 Django框架 环境搭建

    3/16 Django框架 环境搭建 环境搭建 Python解释器 Python代码通过Python解释器去执行. 编程语言 机器语言---汇编语言(助记符)---高级语言 解释型语言:解释器将代码一 ...

随机推荐

  1. 006-基于hyperledger fabric1.4( 官方文档)编写第一个应用【外部nodejs调用】

    一.概述 官方原文地址 Writing Your First Application如果对fabric网络的基本运行机制不熟悉的话,请看这里. 注意:本教程是对fabric应用以及如何使用智能合约的简 ...

  2. 安装SQL2012

    1. 优先安装软件 1. net framework3.5. 2. 在安装SQL SERVER 2012前需要3.5的支持.在WIN 2012系统可以在系统管理的添加角色和功能中安装,如下将[.NET ...

  3. shell脚本调用传参【转载】

    转自:https://www.cnblogs.com/cisum/p/8010658.html 1.直接使用$0,$1,$2,$3 $0是脚本的名字,就是按顺序来 #!/bin/bash # auth ...

  4. jdk1.7 ArrayList源码浅析

    参考:http://www.cnblogs.com/xrq730/p/4989451.html(借鉴的有点多,哈哈) 首先介绍ArrayList的特性: 1.允许元素为空.允许重复元素 2.有序,即插 ...

  5. Python一些常用模块

    阅读目录 一: collections模块 二: time,datetime模块 三: random模块 四: os模块 五: sys模块 六: json,pickle 七: re正则模块 八:re模 ...

  6. Node.js学习笔记(3):NPM简明教程

    Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...

  7. java项目地址和服务器地址区分

    项目地址String filePath = request.getSession().getServletContext().getRealPath("/") + "up ...

  8. PHP 权限管理

    login页面 <form action="loginchuli.php" method="post"> <div>用户名:<in ...

  9. nohup- Shell后台运行

    &方式: Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台:          /usr/local/my ...

  10. DNS域名解析的配置

    /etc/resolv.conf它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序.该文件是由域名解析 器(resolver,一个根据主机名解析IP地址的 ...