一:引入Hibernate的jar包

http://t.cn/EioD1xk

二:配置Hibernate的核心配置文件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的根标签 -->
<hibernate-configuration>
<!-- session工厂 -->
<session-factory>
<!-- 配置数据属性 -->
<!-- 配置数据库驱动 -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property> <!--配置数据库连接-->
<property name="connection.url">
jdbc:mysql://localhost:3306/test06?characterEncoding=UTF-8
</property> <!-- 配置数据库用户名 -->
<property name="connection.username">
root
</property> <!-- 配置数据库密码 -->
<property name="connection.password">
root
</property> <!-- 配置数据库方言 -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property> <!-- 配置SQL语句的生成格式 -->
<property name="show_sql">true</property>
<property name="format_sql">true</property> <!-- 配置生成策略update、create、drop -->
<property name="hbm2ddl.auto">update</property> <!-- 配置hibernate的映射文件 -->
<mapping resource="com/baidu/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>

三:创建Hibernate的映射实体类User类

四:创建Hibernate的实体类映射文件User.hbm.xml

   <!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- hibernate的根映射文件 -->
<hibernate-mapping>
<!-- 映射的实体类 -->
<class name="com.baidu.entity.User" table="users">
<!-- 配置主键生成策略 -->
<id name="uid">
<generator class="native"></generator>
</id> <!-- 配置实体类中相应的属性字段 -->
<property name="uname"></property>
<property name="usex"></property>
<property name="uaddress"></property>
</class>
</hibernate-mapping>

五:Hibernate的测试类TestHibernate

public class TestHibernate {
public static void main(String[] args) {
//加载hibernate的核心配置文件
Configuration configuration = new Configuration().configure();
//获取sessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
//获取session
Session session = sessionFactory.openSession();
//关闭连接
session.close();
}
}

六:用Hibernate对数据库进行增、删、查、改操作

public class TestCurd {

    /**
* 增加用户信息
*/
@Test
public void saveUser() {
try {
//加载hibernate的核心配置文件
Configuration configuration = new Configuration().configure();
//创建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
//获取session
Session session = sessionFactory.openSession();
//开启事务
Transaction tx = session.beginTransaction(); //实例化User对象
User user = new User();
user.setUname("Jack");
user.setUsex('男');
user.setUaddress("北京"); //添加用户信息
session.save(user);
tx.commit(); //关闭连接
session.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("有异常!");
e.printStackTrace();
}
} /**
* 查询单个用户信息
*/
@Test
public void queryUserByUid() {
try {
//加载hibernate的核心配置文件
Configuration configuration = new Configuration().configure();
//创建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
//获取session
Session session = sessionFactory.openSession();
//查询用户
User user = (User) session.get(User.class, 4);
System.out.println(user+"========================"); //关闭连接
session.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("有异常!");
e.printStackTrace();
}
} /**
* 查询所有用户信息
*/
@Test
public void queryAllUser() {
try {
//加载hibernate的核心配置文件
Configuration configuration = new Configuration().configure();
//创建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
//获取session
Session session = sessionFactory.openSession();
//查询用户(获取query对象)
Criteria criteria = session.createCriteria(User.class);
List<User> list = criteria.list(); if (list.size()>0 && null!=list) {
for (User user : list) {
System.out.println(user+"============================");
}
} //关闭连接
session.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("有异常!");
e.printStackTrace();
}
} /**
* 修改用户信息
*/
@Test
public void updateUserByUid() {
//加载hibernate的核心配置文件
Configuration configuration = new Configuration().configure();
//创建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
//获取session
Session session = sessionFactory.openSession();
//开启事务
Transaction tx = session.beginTransaction(); //获取要修改的用户(先查询要修改的用户)
User user = (User) session.get(User.class, 4);
user.setUname("Tom");
user.setUsex('女');
user.setUaddress("郑州"); //提交用户
session.update(user);
//提交事务
tx.commit();
//关闭session连接
session.close();
} /**
* 删除用户信息
*/
@Test
public void deleteUserByUid() {
//加载hibernate的核心配置文件
Configuration configuration = new Configuration().configure();
//创建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
//获取session
Session session = sessionFactory.openSession();
//开启事务
Transaction tx = session.beginTransaction(); //获取要修改的用户(先查询要修改的用户)
User user = (User) session.get(User.class, 4); //提交用户
session.delete(user);
//提交事务
tx.commit();
//关闭session连接
session.close();
} /**
* 分页功能
*/
@Test
public void pageHelper() {
//加载hibernate的核心配置文件
Configuration configuration = new Configuration().configure();
//创建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
//获取session
Session session = sessionFactory.openSession(); //定义hql语句
String hql = "from User";
//查询所有数据
Query query = session.createQuery(hql);
//执行分页
query.setFirstResult(0);
query.setMaxResults(3); //查询分页列表
List<User> list = query.list();
//判断User是否为空
if (list.size()>0 && null!=list) {
for (User user : list) {
System.out.println(user);
}
}
} }

Hibernate内容详解的更多相关文章

  1. hibernate Expression详解

    关键字: hibernate expression hibernate Expression详解Expression.gt:对应SQL条件中的"field > value " ...

  2. [转帖]Windows注册表内容详解

    Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...

  3. pyhanlp 共性分析与短语提取内容详解

    pyhanlp 共性分析与短语提取内容详解   简介 HanLP中的词语提取是基于互信息与信息熵.想要计算互信息与信息熵有限要做的是 文本分词进行共性分析.在作者的原文中,有几个问题,为了便于说明,这 ...

  4. GridView内容详解(转载)

    GridView内容详解(转载) GridView是ASP.NET界面开发中的一个重要的控件,对GridView使用的熟练程度直接影响软件开发的进度及功能的实现.(车延禄)GridView的主要新特性 ...

  5. Windows注册表内容详解

    Windows注册表内容详解 http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html (2011-04-05 10:46:17)   第一课  注册表 ...

  6. Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解

    在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...

  7. Hibernate配置文件详解

    Hibernate配置方式 Hibernate给人的感受是灵活的,要达到同一个目的,我们可以使用几种不同的办法.就拿Hibernate配置来说,常用的有如下三种方式,任选其一. 在 hibernate ...

  8. (转)spring hibernate properties详解

    转载地址:http://blog.sina.com.cn/s/blog_692d0a650100xyqx.html Hibernate配置属性 hibernate.dialect:一个Hibernat ...

  9. 【docker-compose】docker-compose.yml文本内容详解 + docker-compose命令详解 + docker-compose启动服务容器时区设置

    参考地址:https://blog.csdn.net/Kiloveyousmile/article/details/79830810 参考地址:https://docs.docker.com/comp ...

随机推荐

  1. (四)SpringBoot2.0基础篇- 多数据源,JdbcTemplate和JpaRepository

    在日常开发中,经常会遇到多个数据源的问题,而SpringBoot也有相关API:Configure Two DataSources:https://docs.spring.io/spring-boot ...

  2. 3d轮播图——类似酷狗的轮播

    说到轮播图,其实只要是跟web开发相关的无论是前端后端应该都不陌生,各种各样的轮播图,从以前的单纯的平面山水画遮盖滑动或滚动,到Jquery的animate甚至是h5+css3,各种炫酷的轮播图更是层 ...

  3. Masonry 抗压缩 抗拉伸

    约束优先级: 在Autolayout中每个约束都有一个优先级, 优先级的范围是1 ~ 1000.创建一个约束,默认的优先级是最高的1000 Content Hugging Priority: 该优先级 ...

  4. iOS 中判断应用程序是否为第一次打开

    第一步:在AppDelegate中当应用启动完成后加入一下代码: - (BOOL)application:(UIApplication *)application didFinishLaunching ...

  5. JVM-01:类的加载机制

    本文从 纯洁的微笑的博客 转载 原地址:http://www.ityouknow.com/jvm.html 类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内 ...

  6. Linux时间子系统之(二):软件架构

    专题文档汇总目录 Notes:从框架上讲解了时间子系统,从底向上包括CPU Local TImer.Global Counter.Clock Souce/Clock Events模块管理.Tick D ...

  7. Linux时间子系统之(四):timekeeping

    专题文档汇总目录 Notes:timekeeping模块的狠心数据结构是timekeeper,它维护了系统不同类型时钟的时间值,并且介绍了获取不同类型时钟时间的函数. clocksource切换通过c ...

  8. MySQL,简单了解下、

    第一章 数据备份与导入导出 1.1.备份基本概念介绍 1.2.mysqldump详解 1.3.mydumper浅析 1.4.MySQL物理备份基本操作 1.5.了解mysqlpump工具 1.6.数据 ...

  9. javascript this 的工作原理

    JavaScript 有一套完全不同于其它语言的对 this 的处理机制. 在五种不同的情况下 ,this 指向的各不相同. 1.全局范围内 当在全部范围内使用 this,它将会指向全局对象. 2.函 ...

  10. PHP与XML技术

    XML的概述 XML(eXtensibleMarkup Language),扩展性标记语言,它是用来描述其他语言的语言.它允许用户设计自己的标记.XML是由W3C(WorldWide 月发布的一种标准 ...