Hibernate 框架学习
什么是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 框架学习的更多相关文章
- hibernate框架学习笔记6:事务
MySQL的事务.JDBC事务操作: 详细见这篇文章:比较详细 http://www.cnblogs.com/xuyiqing/p/8430214.html 如何在hibernate中配置隔离级别: ...
- hibernate框架学习笔记3:API详解
Configuration对象: package api; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configur ...
- [ SSH框架 ] Hibernate框架学习之二
一.Hibernate持久化类的编写规范 1.什么是持久化类 Hibernate是持久层的ORM影射框架,专注于数据的持久化工作.所谓持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么 ...
- [ SSH框架 ] Hibernate框架学习之三
一.表关系的分析 Hibernate框架实现了ORM的思想,将关系数据库中表的数据映射成对象,使开发人员把对数据库的操作转化为对对象的操作,Hibernate的关联关系映射主要包括多表的映射配置.数据 ...
- j2ee开发之hibernate框架学习笔记
hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换 ...
- hibernate框架学习笔记2:配置文件详解
实体类: package domain; public class Customer { private Long cust_id; private String cust_name; private ...
- hibernate框架学习笔记1:搭建与测试
hibernate框架属于dao层,类似dbutils的作用,是一款ORM(对象关系映射)操作 使用hibernate框架好处是:操作数据库不需要写SQL语句,使用面向对象的方式完成 这里使用ecli ...
- [ 学习笔记 ] Hibernate框架学习之一
一.JavaEE开发三层结构和三大框架的对应关系: Struts2框架 -> 表现层 web层(MVC是表现层的设计模型) 业务层 service层 Hibernate框架 -> 持久层 ...
- hibernate框架学习之核心API
ConfigurationSessionFactorySessionTransactionQueryCriteria Configuration Configuration对象用于封装Hibernat ...
- Hibernate框架学习笔记
Hibernate 是一个 JDO( Java Data Objects)工具.它的工作原理是通过文件把值对象(Java对象)和 数据库表之间建立起一个映射关系,还提供数据查询和获取数据的方法. ...
随机推荐
- ORA-12528问题解决
这个问题说明数据库没有Mount 最好先将系统日志一并清空,避免以下报错信息: ERROR:ORA-28056: Writing audit records to Windows Event Log ...
- selenium+java,实现部分截图功能,-针对单个元素的截图
有时候需要元素的截图,不需要整个截图.整理一个针对元素的截图的方法. 创建一个Java类,实现截取元素的方法 package com.lozz.utils; import java.awt.Recta ...
- VUE递归树形目录(vue递归组件)的使用
1.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...
- javascript+php实现根据用户时区显示当地时间的方法
本文实例讲述了javascript+php实现根据用户时区显示当地时间的方法.分享给大家供大家参考.具体如下: 在跨时区应用中会用到下面代码,这是以前写的一段代码. 服务器保存相关时间配置,保存形式为 ...
- 启动memcached
/usr/local/bin/memcached -d -c -m -u root
- abp CrudAppService 自定义分页、排序
public class GetAllTasksInput : PagedAndSortedResultRequestDto { public TaskState? State { get; set; ...
- popupWindow自适应大小
// popupWindow自适应大小 popupWindow = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP ...
- mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句
mysql查询今天.昨天.近7天.近30天.本月.上一月的SQL语句 这篇文章主要介绍了mysql查询今天.昨天.近7天.近30天.本月.上一月的SQL语句,一般在一些统计报表中比较常用这个时间段,需 ...
- cxf的一些使用说明
/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agree ...
- Linux的磁盘分区(二)
LVM逻辑卷机制 PV(Physical Volume 物理卷) - 物理分区或整个物理磁盘 - 由PE(Physical Extent,基本单元)租场 VG(Volume Group 卷组) - 一 ...