Hibernate内容详解
一:引入Hibernate的jar包
二:配置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内容详解的更多相关文章
- hibernate Expression详解
关键字: hibernate expression hibernate Expression详解Expression.gt:对应SQL条件中的"field > value " ...
- [转帖]Windows注册表内容详解
Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...
- pyhanlp 共性分析与短语提取内容详解
pyhanlp 共性分析与短语提取内容详解 简介 HanLP中的词语提取是基于互信息与信息熵.想要计算互信息与信息熵有限要做的是 文本分词进行共性分析.在作者的原文中,有几个问题,为了便于说明,这 ...
- GridView内容详解(转载)
GridView内容详解(转载) GridView是ASP.NET界面开发中的一个重要的控件,对GridView使用的熟练程度直接影响软件开发的进度及功能的实现.(车延禄)GridView的主要新特性 ...
- Windows注册表内容详解
Windows注册表内容详解 http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html (2011-04-05 10:46:17) 第一课 注册表 ...
- Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解
在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...
- Hibernate配置文件详解
Hibernate配置方式 Hibernate给人的感受是灵活的,要达到同一个目的,我们可以使用几种不同的办法.就拿Hibernate配置来说,常用的有如下三种方式,任选其一. 在 hibernate ...
- (转)spring hibernate properties详解
转载地址:http://blog.sina.com.cn/s/blog_692d0a650100xyqx.html Hibernate配置属性 hibernate.dialect:一个Hibernat ...
- 【docker-compose】docker-compose.yml文本内容详解 + docker-compose命令详解 + docker-compose启动服务容器时区设置
参考地址:https://blog.csdn.net/Kiloveyousmile/article/details/79830810 参考地址:https://docs.docker.com/comp ...
随机推荐
- 学HTTP协议所要知道的基础知识(微总结)
1.网络本质 进行资源共享和信息传输. 2.基于网络的应用程序的本质 就是获取数据和传输数据给用户使用. 3.TCP/IP协议栈工作流程 实体层是不属于TCP/IP协议栈的一层.也就是说TCP/IP协 ...
- 运算符优先级--C
优先口决 括号成员第一; //括号运算符[]() 成员运算符. -> 全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; //这个& ...
- 正则表达式re模块小结
re模块的常用方法 1.compile(pattern[,flags]) 创建模式对象,一般配合其他方法使用.例如: import re #导入re模块 text = 'All that doth f ...
- JavaScript里面的循环方法小结
一,原生JavaScript中的循环: for 循环代码块一定的次数,它有三个参数,来决定代码块的循环次数,第一个是初始值,第二个是终止值,第三个参数是变化规则: //for循环 for(var i ...
- Python_生成大量随机信息
#coding=utf-8 import random import string import codecs ''' 演示如何使用Python标准库random来生成随机数据,这在需要 ''' #常 ...
- 检测磁盘驱动的健康程度SMART
在linux中,工具包的名字为smartmontools 在CentOS中可以使用 yum install smartmontools来安装工具 首先通过smartctl -i /dev/sda 来检 ...
- 【转】tomcat logs 目录下各日志文件的含义
tomcat每次启动时,自动在logs目录下生产以下日志文件,按照日期自动备份 localhost.2016-07-05.txt //经常用到的文件之一 ,程序异常没有被捕获的时候抛出的地方 ...
- Ubuntu安装和卸载.bundle格式的VMware
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=628 前言: 本文中用于演示的.bundle文件是VMware-Workstation-Full-14.1.1-75 ...
- Unable to find remote helper for 'https'
出现这个报错,说明git目前的状态是正常的,要么没装好,要么自己解决压缩安装导致没有权限 第三次情况是,使用yum install git 重新安装后,仍然报错,是因为环境变量中GIT_HOM配置的仍 ...
- mysql可视化工具下载地址2017.6.27
https://www.baidu.com/s?tn=90117497_hao_pg&usm=1&wd=navicat+for+mysql&ie=utf-8&rsv_r ...