一:引入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. Map的四种遍历

    //Map的四种遍历方法 public static void main(String[] args) { Map<String, String> map = new HashMap< ...

  2. 小程序从后台输出的代码为HTML实体字符如何解决?

    最近在做一个小程序的考试系统,从后台调出的数据是这个样子的 那么我遇到这个问题的时候想到的微信小程序的富文本即(wxParse),使用过wxParse的都知道,富文本必须得具体到单个的数据上才能使用, ...

  3. 杨校老师课堂之JavaScript右下角广告弹框教程

    案例制作思路: 1.先制作界面 添加一个盒子包含一个按钮,使盒子绝对定位在右上角 添加一个大盒子,同理,将盒子居于左下角:其中内部包含一个顶端盒子和底部盒子 顶端盒子因为是属于大盒子内部的存在,所以宽 ...

  4. Caffe 编译后 make runtest 出现locale::facet::_S_create_c_locale 错误

    You might need to append LC_ALL="en_US.UTF-8" to file: /etc/default/locale and reboot your ...

  5. linux学习(JDK,Tomcat,nginx)安装

    最近学习了在linux,在上面搭建了一个tomcat的服务器,后来又使用nginx进行反向代理了一下下,希望文章对初学者有所帮助. 1.安装JDK.(采用jdk的rpm包进行安装) 安装jdk之前需要 ...

  6. elasticsearch 的安装配置与spring boot的整合应用

    linux上的elasticsearch安装 一.下载elasticsearch 直接进入elasticsearch的官网,下载最新的安装包:https://www.elastic.co/downlo ...

  7. Spring Cloud实践:降级、限流、滚动、灰度、AB、金丝雀的实现思路

    端口:8888,方便起见直接读取配置文件,生产环境可以读取git.application-dev.properties为全局配置.先启动配置中心,所有服务的配置(包括注册中心的地址)均从配置中心读取. ...

  8. JavaScript prototype原型和原型链详解

    用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了, ...

  9. node.js 使用forever守护进程

    //forever的安装:npm install forever -g//使用forever启动守护进程:forever start 路径/your_app.js//关闭守护进程:forever st ...

  10. [Python]range与xrange用法对比

    [整理内容]具体如下: 先来看如下示例:>>>x=xrange(0,8)>>> print xxrange(8)>>>print x[0]0> ...