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 ...
随机推荐
- Ubuntu16+pinpoint环境搭建
最近研究了pinpoint,稍后放上环境搭建教程,建议想学习搭建的同学记得参考pinpointGitHub
- MySQL SHOW TABLE 输出的每列详细介绍
Name: 表名 Engine: 表的存储引擎(旧版本中,该值为Type) Row_format: 行的格式.对于MyISAM表,可选的值为Dynamic.Fixed或者Copressed. Dyna ...
- DX11 Without DirectX SDK--02 渲染一个三角形
回到 DirectX11--使用Windows SDK来进行开发 目前暂时没有写HLSL具体教程的打算,而是着重于如何做到不用DirectX SDK来进行渲染.除此之外,这里也没有使用Effects框 ...
- goroutine和线程区别
从调度上看,goroutine的调度开销远远小于线程调度开销. OS的线程由OS内核调度,每隔几毫秒,一个硬件时钟中断发到CPU,CPU调用一个调度器内核函数.这个函数暂停当前正在运行的线程,把他的寄 ...
- 爬虫值requests库
requests简介 简介 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 ,使用起来比urllib简洁很多 因为是第三方库, ...
- Spring MVC 文件上传 & 文件下载
索引: 开源Spring解决方案--lm.solution 参看代码 GitHub: pom.xml WebConfig.java index.jsp upload.jsp FileUploadCon ...
- 【网络】TCP/IP连接三次握手
TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确 ...
- WARN: Establishing SSL connection without server's identity verification is not recommended
0.要想用Java连接mysql数据库,首先装好JDK,配置好环境变量,将jdk*.*.*\lib放入classpath,将jdk*.*.*\bin放入path中(*.*.*表示版本号):其次安装好m ...
- WebJars
WebJarsWebJars是一个很神奇的东西,可以让大家以jar包的形式来使用前端的各种框架.组件. 什么是WebJars 什么是WebJars?WebJars是将客户端(浏览器)资源(JavaSc ...
- Step by step guide to set up master and slave machines on Windows
Note: There is no need to install Jenkins on the slave machine. On your master machine go to Manage ...