一:引入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. Linux中mongodb定时远程备份

    下载mongodb https://www.cnblogs.com/tartis/p/5291580.html mongodb定时备份文档 虚拟机报错要改BIOS 虚拟技术开启 进入root账户  s ...

  2. 架构之Nginx(负载均衡/反向代理)

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器 ,也是一个 IMAP/POP3/SMTP 代理 服务器 . Nginx 是由 Igor Sys ...

  3. Python 装饰器(Decorator)

    装饰器的语法为 @dec_name ,置于函数定义之前.如: import atexit @atexit.register def goodbye(): print('Goodbye!') print ...

  4. CentOS 6 安装Hadoop集群

    hadoop2.6.4安装包(链接:https://pan.baidu.com/s/15qHpdoLBQHP4HdxOJzNcsg 密码:5hel) 1.准备Linux环境 1.0先将虚拟机的网络模式 ...

  5. 构建具有用户身份认证的 Ionic 应用

    序言:本文主要介绍了使用 Ionic 和 Cordova 开发混合应用时如何添加用户身份认证.教程简易,对于 Ionic 入门学习有一定帮助.因为文章是去年发表,所以教程内关于 Okta 的一些使用步 ...

  6. 【机器学习】使用gensim 的 doc2vec 实现文本相似度检测

    环境 Python3, gensim,jieba,numpy ,pandas 原理:文章转成向量,然后在计算两个向量的余弦值. Gensim gensim是一个python的自然语言处理库,能够将文档 ...

  7. Linux 操作系统基础知识

    1.操作系统总体介绍 •CPU: 就像人的大脑,主要负责相关事情的判断以及实际处理的机制.查询指令: cat /proc/cpuinfo•内存: 大脑中的记忆区块,将皮肤.眼睛等所收集到的信息记录起来 ...

  8. Asp.Net Core 2.0 项目实战(6)Redis配置、封装帮助类RedisHelper及使用实例

    本文目录 1. 摘要 2. Redis配置 3. RedisHelper 4.使用实例 5. 总结 1.  摘要 由于內存存取速度远高于磁盘读取的特性,为了程序效率提高性能,通常会把常用的不常变动的数 ...

  9. 在Linux上使用PGP签名验证文件完整性

    文件在下载及存储过程中可能由于传输错误.硬件故障.文件系统错误等网络.硬件和软件方面的原因导致文件损坏,也可能在传输过程中受到攻击(如"中间人攻击")导致下载的文件被篡改或者下载到 ...

  10. 文字分列 CSS属性

    column 这里有一系列新的CSS属性,可以帮助你很轻松的实现文字的多列布局.让我们瞧瞧: .three-column { padding: 1em; -moz-column-count: 3; - ...