hibernate框架的搭建与简单实现增删改
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。
首先搭建环境:
一、导入jar包。
1.hibernate的jar包
2.jdbc的jar包
二、配置Hibernate。建立hibernate.cfg.xml文件
相关的内容:
1.hibernate.cfg.xml -- 包所在的文件夹的project里去搜索复制
2.每个配置项的值:project/etc/hibernate.properties中搜索
新建hibernate.cfg.xml
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!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/mydb?characterEncoding=GBK</property>
<property name="show_sql">true</property>//显示sql语句,为true则显示,false为不显示
<!-- 表映射加载 -->
<mapping resource="com/model/Fruit.hbm.xml"/>
</session-factory>
</hibernate-configuration>
ORM
三、准备数据库
四、准备实体(建议使用:引用类型。建议类名属性名与列名一致)
五、准备映射文件 实体类名.hbm.xml 例:Fruit.hbm.xml
方法:从project文件夹中搜索hbm.xml。复制改
在hibernate.cfg.xml下,加上<mapping resouse="映射文件路径"/>映射
新建Fruit.hbm.xml
<?xml version="1.0"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!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.model"> <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>
新建一个测试类test.java
package com.test; import java.util.List; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.*; import com.model.Fruit; public class Ceshi { public static void main(String[] args) {
// TODO 自动生成的方法存根
Configuration config = new Configuration().configure();//读取hibernate.cfg.xml的配置,加载Hibernate的类库
SessionFactory factory= config.buildSessionFactory();//根据配置,生成session工厂
Session session = factory.openSession();//用工厂来生成session
//System.out.println(session.isConnected()); //insert
// Fruit f = new Fruit();
// f.setIds("s001");
// f.setName("猕猴桃");
// f.setPrice(10.0);
// f.setNumbers(200);
// session.beginTransaction();//事务开始
// session.save(f);//用session保存到数据库
// session.getTransaction().commit();//事务提交 //select
// 查单条记录
// Fruit f= new Fruit();
//
// f=session.get(Fruit.class,"s001");
// System.out.println(f.getIds()+f.getName()+f.getNumbers());
//查所有
// List<Fruit> list= session.createQuery("from Fruit").getResultList();
// for(Fruit f:list){
// System.out.println(f.getIds()+f.getName()+f.getNumbers());
// } //delete
// Fruit f = session.get(Fruit.class, "s001");
// if(f!=null){
// session.beginTransaction();
// session.delete(f);
// session.getTransaction().commit();
// } //update
Fruit f = session.get(Fruit.class, "k007");
if(f!=null){
session.beginTransaction();
f.setName("香蕉大棒子");
f.setNumbers(200); session.update(f);
session.getTransaction().commit();
} session.close();
} }
声明:
这里的session不是web中的session.
web中的session代表的是客户端与web服务器之间的会话
这里的session指的是程序与数据库之前的会话,它是由hibernate进行管理的
hibernate框架的搭建与简单实现增删改的更多相关文章
- 初识hibernate框架之一:进行简单的增删改查操作
Hibernate的优势 l 优秀的Java 持久化层解决方案 (DAO) l 主流的对象—关系映射工具产品 l 简化了JDBC 繁琐的编码 l 将数据库的连接信息都存放在配置文件 l 自己的ORM ...
- 利用Hibernate 框架,实现对数据库的增删改查
增: package com.maya.test; import org.hibernate.*; import org.hibernate.cfg.*; import com.maya.model. ...
- IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)
原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...
- springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能
转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包 数据库表 数据库表就不用教大家了,一张表,很简 ...
- 【Hibernate】hibernate框架的搭建
1, Hibernate 是什么 Hibernate是java应用程序与数据库交互的开发的框架. Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. 2,Hibernate框架的优点 ...
- BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块
NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...
- 用CI框架向数据库中实现简单的增删改查
以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html Code ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)
此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...
随机推荐
- 洛谷 P2827 蚯蚓
题目描述 本题中,我们将用符号\lfloor c \rfloor⌊c⌋表示对c向下取整,例如:\lfloor 3.0 \rfloor= \lfloor 3.1 \rfloor=\lfloor 3.9 ...
- MovieReview—A dog's purpose(一只狗的使命)
Be Here Now A dog in the movie was reinc ...
- UVA 246 10-20-30 10-20-30游戏 模拟+STL双端队列deque
Input Each input set consists of a sequence of 52 integers separated by spaces and/or ends of line. ...
- Predicate Programming Guide
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChap ...
- AMD、CMD规范
本文原链接:https://cloud.tencent.com/developer/article/1177217 AMD && CMD 前言 一.模块 二.CommonJS 三.AM ...
- 获取地址栏参数,json遍历
1. 获取地址栏参数 GetQueryString: function(name){ // 获取地址栏参数 var reg = new RegExp("(^|&)"+ na ...
- JSONPath - XPath for JSON
http://goessner.net/articles/JsonPath/ [edit] [comment] [remove] |2007-02-21| e1 # JSONPath - XPath ...
- javaweb基础(1)_入门
一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...
- NOIP模拟赛 czy的后宫4
czy的后宫4 [问题描述] czy有很多妹子,妹子虽然数量很多,但是质量不容乐观,她们的美丽值全部为负数(喜闻乐见). czy每天都要带N个妹子到机房,她们都有一个独一无二的美丽值,美丽值为-1到- ...
- SpringMVC 项目中引用其他 Module 中的方法
1. 将要引用的Module 引入项目中 2. 在主Module中添加依赖, 3. 被引用的类必须放在 Module 中/src/下的某个package中,否则引用不到(重要)