Hibernate—(搭建、简单使用)
来源:互联网 发布:js输出日期格式 编辑:程序博客网 时间:2024/05/23 20:33
一、Hibernate的简介
1.什么是Hibernate?
Hibernate是持久化(和数据库有关的操作)框架,也是ROM框架(Object/Relation/Mapping 对象关系映射),Hibernate核心内容是ORM(关系对象模型)。可以将对象自动的生成数据库中的信息,使得开发更加的面向对象。这样作为程序员就可以使用面向对象的思想来操作数据库,而不用关心繁琐的JDBC。所以,Hibernate处于三层架构中的D层(持久层)。
二、为什么Hibernate?
1、Hibernate可以使用在Java的任何项目中,不一定非要使用在Javaweb项目中。
2、与JDBC相比较,代码更简介,开发效率更高。
3、与MyBatis想比较而言; Hibernate是成熟稳定的优秀框架,全封装式,运行速度慢,开发效率高。MyBatis没有Hibernate
那么稳定,处于半封装式,运行速度快,但是开发效率慢。
三、在哪里用Hibernate?
任何和数据库操作有关的都可以使用Hibernate
二、在Eclipse搭建Hibernate框架
1、安装Hibernate插件(推荐使用在线安装插件的方式(原因:快,不容易出错))
第一步:去市场下载
第二步:搜索hibernate
第三步: 寻找Jboos 下载安装
第四步:测试(ctrl+n 输入hibernate关键字,如果出现以下图片中的信息就成功了,默认没有插件是没有的。)
二、使用maven创建项目并导入hibernate核心jar包
①pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Hibernate01</groupId> <artifactId>Hibernate01</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>Hibernate01 Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <argLine>-Dfile.encoding=UTF-8</argLine> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- servelet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- 加入hibernate依赖 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.10.Final</version></dependency> <!-- Mysql依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.43</version> </dependency> </dependencies> <build> <finalName>Hibernate01</finalName> </build></project>
②数据库
③核心配置
④实体类:
package com.sun.entity;public class Student {private int sid;private String sname;private int sage;public Student() {}public Student(int sid, String sname, int sage) {super();this.sid = sid;this.sname = sname;this.sage = sage;}public Student(int sid) {super();this.sid = sid;}public Student(String sname, int sage) { super();this.sname = sname;this.sage = sage;}public int getSid() {return sid;}public void setSid(int sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public int getSage() {return sage;}public void setSage(int sage) {this.sage = sage;}}⑤实体类映射文件(Student.hbm.xml) 导入插件后可以在点击一下包。然后Ctrl+n 输入hibernate 选择第四个映射文件,选择你要映射的实体类,然后会自动将你映射好。没有插件的必须自己手写,或者copy。
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2017-8-21 20:09:40 by Hibernate Tools 3.5.0.Final --><hibernate-mapping> <class name="com.sun.entity.Student" table="STUDENT"> <id name="sid" type="int"> <column name="SID" /> <generator class="assigned" /> <!--主键--> </id> <property name="sname" type="java.lang.String"> <column name="SNAME" /> </property> <property name="sage" type="int"> <column name="SAGE" /> </property> </class></hibernate-mapping>
⑥核心配置hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?><!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="connection.username">root</property> <property name="connection.password">tiger</property> <property name="connection.url">jdbc:mysql://localhost:3306/mysql</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 显示SQL语句 --><!-- <property name="show_sql">true</property> --><!--配置映射信息--><mapping resource="com/sun/entity/Student.hbm.xml"/> </session-factory></hibernate-configuration>
三、测试Hibernate的增删改查使用hibernate八步骤
① 加载Hibernate配置文件
Configuration configuration=new Configuration().configure();
②创建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
③创建Session
Session session = sessionFactory.openSession();
④开启事务
Transaction transaction = session.beginTransaction();
⑤执行数据库操作
增
Student student=new Student("雷一鸟", 18);
session.save(student);
删
Student stu=new Student(1); //id=1
session.delete(stu);
改
Student student=new Student(1,"雷一鸟", 18);
session.update(stu);
查(查询全部)
List<Student> list=session.createCriteria(Student.class).list();
//遍历
for (Student student : list) {
System.out.println(student.getSid()+" "+student.getSname()+" "+student.getSage());
}
⑥提交事务
transaction.commit();
⑦关闭Session
session.close();
⑧关闭SessionFactory
sessionFactory.close();
- Hibernate—(搭建、简单使用)
- Hibernate 框架的详细搭建与简单使用(一)
- 简单hibernate搭建
- 简单的Hibernate搭建
- Hibernate(二):Hibernate搭建开发环境+简单实例
- 使用Eclipse无插件搭建一个简单的Hibernate项目
- hibernate search 的简单搭建
- hibernate总结---hibernate简单使用
- Hibernate搭建开发环境+简单实例(二)
- Hibernate搭建开发环境+简单实例(二)
- Hibernate搭建开发环境+简单实例(二)
- Hibernate搭建开发环境+简单实例(二)
- Hibernate 简单使用(二) JDBC封装
- hibernate criteria简单使用(1)
- Hibernate简单使用
- Hibernate的简单使用
- hibernate注解简单使用
- Hibernate Restrictions 简单使用
- 后台对象转json格式字符串
- 阿里笔试:输出字符串中的出现最多的数字的和
- itchat微信调用图灵机器人API
- 最长递增子序列问题的求解2
- 插值法查找
- Hibernate—(搭建、简单使用)
- 简单web注册网页开发
- Python高级技巧(一)
- 基于caffe在已有模型上进行微调finetune
- 微信交互数据包分析
- SharedPreferences详解
- 小结:“服务器端跳转”和“客户端跳转”的区别
- Installation failed due to invalid APK file!解决办法
- 简单web主页面开发