package cn.itcast.test;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
import cn.itcast.domain.Customer;
/**
* hibernate 框架快速入门,完成cusotmer表 增删改查操作
*
* @author seawind
*
*/
public class HibernateTest {
@Test
// 查询所有 (SQL)
public void testFindAllBySQL() {
// 实例化配置对象,加载配置文件 hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
// 编写sql
String sql = "select * from customer"; // customer是表名
SQLQuery sqlQuery = session.createSQLQuery(sql);// 查询对象
// sqlQuery.addEntity(Customer.class);// 将查询结果封装 Customer类对象中
List<Customer> customers = sqlQuery.list(); // 执行查询
System.out.println(customers);
// 提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
// 查询所有 (HQL)
public void testFindAllByHQL() {
// 实例化配置对象,加载配置文件 hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
// 编写hql (面向类和属性的查询)
String hql = "from Customer"; // 这里Customer 是类名,查询Customer类 对应表所有数据
Query query = session.createQuery(hql); // 获取查询Query对象
List<Customer> customer = query.list(); // 执行查询,返回列表
System.out.println(customer);
// 提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
// 删除
public void testDelete() {
// 实例化配置对象,加载配置文件 hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
Customer customer = new Customer();
customer.setId(1);// 根据id删除
session.delete(customer);
// 提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
// 修改 (只想修改第一条记录 城市 天津)
public void testUpdate2() {
// 实例化配置对象,加载配置文件 hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
Customer customer = (Customer) session.get(Customer.class, 1);
customer.setCity("天津");
session.update(customer);
// 提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
// 修改 (根据id修改其它数据)
public void testUpdate() {
// 实例化配置对象,加载配置文件 hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
Customer customer = new Customer();
customer.setName("小丽");
customer.setAge(20);
customer.setCity("上海");
customer.setId(1); // 根据id修改
session.update(customer);
// 提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
// 根据id 查询
public void testFindById() {
// 实例化配置对象,加载配置文件 hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
int id = 1;
Customer c = (Customer) session.get(Customer.class, id);
System.out.println(c);
// 提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
// 插入
public void testInsert() {
// 实例化配置对象,加载配置文件 hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
// 编写自己代码逻辑
Customer customer = new Customer();
customer.setName("王五");
customer.setAge(19);
customer.setCity("上海");
session.save(customer);
// 提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
hibernate3持久化学习源码
共58个文件
xml:14个
jar:12个
class:10个
需积分: 0 0 下载量 43 浏览量
2023-06-14
10:10:37
上传
评论
收藏 6.82MB RAR 举报
温馨提示
hibernate3持久化学习源码
资源推荐
资源详情
资源评论
收起资源包目录
hibernate3.rar (58个子文件)
hibernate3
.classpath 607B
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 364B
.jsdtscope 500B
org.eclipse.wst.common.component 483B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.wst.jsdt.ui.superType.container 49B
.mymetadata 318B
src
myconfig.xml 1KB
cn
itcast
utils
HibernateUtils.java 693B
test
HibernateTest3.java 4KB
HibernateTest2.java 3KB
HibernateTest4.java 2KB
HibernateTest.java 6KB
log4j
Log4jTest.java 541B
domain
Person.hbm.xml 526B
Book.java 337B
Product.java 462B
Product.hbm.xml 502B
Customer.hbm.xml 1KB
Book.hbm.xml 428B
Customer.java 865B
Person.java 464B
hibernate.cfg.xml 2KB
log4j.properties 669B
WebRoot
WEB-INF
classes
myconfig.xml 1KB
cn
itcast
utils
HibernateUtils.class 871B
test
HibernateTest.class 4KB
HibernateTest2.class 3KB
HibernateTest3.class 3KB
HibernateTest4.class 3KB
log4j
Log4jTest.class 932B
domain
Person.hbm.xml 526B
Person.class 770B
Product.hbm.xml 502B
Customer.hbm.xml 1KB
Customer.class 2KB
Product.class 959B
Book.hbm.xml 428B
Book.class 697B
hibernate.cfg.xml 2KB
log4j.properties 669B
lib
dom4j-1.6.1.jar 307KB
javassist-3.12.0.GA.jar 618KB
c3p0-0.9.1.jar 594KB
slf4j-api-1.6.1.jar 25KB
mysql-connector-java-5.0.8-bin.jar 528KB
hibernate3.jar 3.97MB
hibernate-jpa-2.0-api-1.0.1.Final.jar 100KB
jta-1.1.jar 11KB
slf4j-log4j12-1.7.2.jar 9KB
commons-collections-3.1.jar 546KB
antlr-2.7.6.jar 433KB
log4j-1.2.16.jar 470KB
web.xml 404B
index.jsp 829B
META-INF
MANIFEST.MF 36B
.project 2KB
.myeclipse
共 58 条
- 1
资源评论
paterWang
- 粉丝: 1103
- 资源: 1279
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java的本科探索学习项目设计源码 - 本科探索
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功