什么是hibernate框架?

1.它是应用在javaee 三层架构中的dao层 它的底层就是JDBC 它对JDBC进行了封装,好处就是不用写jdbc的代码,和sql语句,它是一个开源的轻量级框架,现在使用hibernate5.x版本

入门使用:

1. 导入hibernate所需要的jar文件

2.创建实体类  (User类 例:com.bin.User)

3.在com.bin.User 这个包中 创建相对应的xml文件 (User.hbm.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!--引入hiberbate 约束文件-->
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="bin.superme.pojo.User" table="User_bin">
<id name="uid" column="id">
<generator class="uuid"></generator>
</id>
<property name="username" column="user_name"></property>
<property name="password" column="pass_word"></property>
</class>

</hibernate-mapping>

4.创建hibernate.cfg.xml文件在根目录

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--配置数据库信息-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <!--注册驱动-->
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_test</property> <!--数据库路径-->
<property name="hibernate.connection.username">root</property> <!--数据库账号-->
<property name="connection.password">cjx</property> <!--数据库密码-->
<!--hibernate 自身配置-->
<property name="show_sql">true</property> <!--是否显示Sql语句-->
<property name="format_sql">true</property> <!--是否格式化sql语句-->
<property name="hibernate.hbm2ddl.auto">update</property> <!--数据库自动更新-->
<!--配置数据库的方言-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!--配置User.hbm.xml 的映射关系-->
<mapping resource="bin/superme/pojo/User.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
5.创建测试类
package bin.superme.test;

import bin.superme.pojo.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; public class User_Test {
public static void main(String[] args) {
//加载hibernate 的核心配置文件
Configuration cfg = new Configuration();
cfg.configure();
//创建 SessionFactory 对象
SessionFactory sessionFactory = cfg.buildSessionFactory();
//获取SessionFactory的链接
Session session = sessionFactory.openSession();
//开启事务
Transaction tran = session.beginTransaction();
//写业务逻辑
User user = new User();
user.setUsername("张6");
user.setPassword("qwe123");
session.save(user);
//提交事务
tran.commit();
//关闭
session.close();
sessionFactory.close();
}
}
 

Hibernate 框架学习的更多相关文章

  1. hibernate框架学习笔记6:事务

    MySQL的事务.JDBC事务操作: 详细见这篇文章:比较详细 http://www.cnblogs.com/xuyiqing/p/8430214.html 如何在hibernate中配置隔离级别: ...

  2. hibernate框架学习笔记3:API详解

    Configuration对象: package api; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configur ...

  3. [ SSH框架 ] Hibernate框架学习之二

    一.Hibernate持久化类的编写规范 1.什么是持久化类 Hibernate是持久层的ORM影射框架,专注于数据的持久化工作.所谓持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么 ...

  4. [ SSH框架 ] Hibernate框架学习之三

    一.表关系的分析 Hibernate框架实现了ORM的思想,将关系数据库中表的数据映射成对象,使开发人员把对数据库的操作转化为对对象的操作,Hibernate的关联关系映射主要包括多表的映射配置.数据 ...

  5. j2ee开发之hibernate框架学习笔记

    hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换 ...

  6. hibernate框架学习笔记2:配置文件详解

    实体类: package domain; public class Customer { private Long cust_id; private String cust_name; private ...

  7. hibernate框架学习笔记1:搭建与测试

    hibernate框架属于dao层,类似dbutils的作用,是一款ORM(对象关系映射)操作 使用hibernate框架好处是:操作数据库不需要写SQL语句,使用面向对象的方式完成 这里使用ecli ...

  8. [ 学习笔记 ] Hibernate框架学习之一

    一.JavaEE开发三层结构和三大框架的对应关系: Struts2框架 -> 表现层 web层(MVC是表现层的设计模型) 业务层 service层 Hibernate框架 -> 持久层 ...

  9. hibernate框架学习之核心API

    ConfigurationSessionFactorySessionTransactionQueryCriteria Configuration Configuration对象用于封装Hibernat ...

  10. Hibernate框架学习笔记

      Hibernate 是一个 JDO( Java Data Objects)工具.它的工作原理是通过文件把值对象(Java对象)和 数据库表之间建立起一个映射关系,还提供数据查询和获取数据的方法. ...

随机推荐

  1. Spring cloud 两种服务调用方式(Rest + Ribbon) 和 Fegin方式

    1:Rest + Ribbon @Bean @LoadBalanced RestTemplate restTemplate() { return new RestTemplate(); } @Auto ...

  2. Python_02-控制语句

    目录:  1         控制结构...  1.1      分支语句...  1.1.1   if语句的嵌套...  1.2      for循环...  1.2.1   Python 循环中的 ...

  3. NoClassDefFoundError: net/sf/ezmorph/Morpher

    使用import net.sf.json.JSONObject; json-lib-2.4-jdk15.jar时报这个错,各种查找,受到https://blog.csdn.net/chenleixin ...

  4. 28-python 中格式对齐之中文格式对齐问题

    一般的可以按这个搞,但是中文就会有问题: python基础_格式化输出(%用法和format用法) 对于 print('1234567890' * 10)print('%10s' % '今天好')pr ...

  5. gsm

    libosmocore Osmocom-BB wireshark 拦截一个短信内容

  6. 在sublime text中添加JavaScript的build-system

    -step 1: 下载安装node.js, 并添加到path变量中. -step 2: 在sublime text中新建一个build-system. tools --> build-syste ...

  7. 书籍索引 #C++

    卷 计算机 的文件夹 PATH 列表卷序列号为 00000200 0001:8890F:.│ 21天学通C++.pdf│ C++ Primer Plus 第6版 中文版.pdf│ C++ Templa ...

  8. RSA加密解密总结

    简单的控制台程序 #include"stdafx.h" #include <math.h> #include<string.h> /*/求解密密钥d的函数( ...

  9. Layout布局源码浅析之——FrameLayout

    一直想研究下安卓各种布局控件,FrameLayout是安卓最简单的界面布局,所以就从FrameLayout讲起. 1.属性.frameLayout继承ViewGroup,除了拥有ViewGroup的属 ...

  10. 寻找最大的K个数(下)

    接着昨天的写,里面的代码包含昨天的 #include <iostream> using namespace std; #define N 50 //初始化数组 , , , , , , , ...