分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

Hibernate的入门(增删改查):

发布时间:2023-09-06 02:16责任编辑:赖小花关键词:Hibernate

注意:本次的记录是在上一篇Hibernate入门的基础上应用的

1.目录

2.实体类修改

 1 package com.itheima.domain; 2 ?3 /* 4 ?* 客户的javaBean 5 ?* @author chenyanlong 6 ?*/ 7 public class Customer { 8 ????private Long cust_id; 9 ????private String cust_name;10 ????private Long cust_user_id;11 ????private Long cust_create_id;12 ????private String cust_source;13 ????private String cust_industry;14 ????private String cust_level;15 ????private String cust_linkman;16 ????private String cust_phone;17 ????private String cust_mobile;18 ????public Long getCust_id() {19 ????????return cust_id;20 ????}21 ????public void setCust_id(Long cust_id) {22 ????????this.cust_id = cust_id;23 ????}24 ????public String getCust_name() {25 ????????return cust_name;26 ????}27 ????public void setCust_name(String cust_name) {28 ????????this.cust_name = cust_name;29 ????}30 ????public Long getCust_user_id() {31 ????????return cust_user_id;32 ????}33 ????public void setCust_user_id(Long cust_user_id) {34 ????????this.cust_user_id = cust_user_id;35 ????}36 ????public Long getCust_create_id() {37 ????????return cust_create_id;38 ????}39 ????public void setCust_create_id(Long cust_create_id) {40 ????????this.cust_create_id = cust_create_id;41 ????}42 ????public String getCust_source() {43 ????????return cust_source;44 ????}45 ????public void setCust_source(String cust_source) {46 ????????this.cust_source = cust_source;47 ????}48 ????public String getCust_industry() {49 ????????return cust_industry;50 ????}51 ????public void setCust_industry(String cust_industry) {52 ????????this.cust_industry = cust_industry;53 ????}54 ????public String getCust_level() {55 ????????return cust_level;56 ????}57 ????public void setCust_level(String cust_level) {58 ????????this.cust_level = cust_level;59 ????}60 ????public String getCust_linkman() {61 ????????return cust_linkman;62 ????}63 ????public void setCust_linkman(String cust_linkman) {64 ????????this.cust_linkman = cust_linkman;65 ????}66 ????public String getCust_phone() {67 ????????return cust_phone;68 ????}69 ????public void setCust_phone(String cust_phone) {70 ????????this.cust_phone = cust_phone;71 ????}72 ????public String getCust_mobile() {73 ????????return cust_mobile;74 ????}75 ????public void setCust_mobile(String cust_mobile) {76 ????????this.cust_mobile = cust_mobile;77 ????}78 ????@Override79 ????public String toString() {80 ????????return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + ", cust_user_id=" + cust_user_id81 ????????????????+ ", cust_create_id=" + cust_create_id + ", cust_source=" + cust_source + ", cust_industry="82 ????????????????+ cust_industry + ", cust_level=" + cust_level + ", cust_linkman=" + cust_linkman + ", cust_phone="83 ????????????????+ cust_phone + ", cust_mobile=" + cust_mobile + "]";84 ????}85 86 ????87 }
View Code

3.HibernateUtils.java

 1 package com.itheima.utils; 2 ?3 import javax.servlet.jsp.jstl.core.Config; 4 ?5 import org.hibernate.Session; 6 import org.hibernate.SessionFactory; 7 import org.hibernate.cfg.Configuration; 8 ?9 /*10 ?* Hibernate框架的工具11 ?* @author chenyanlong12 ?*/13 public class HibernateUtils {14 15 ????//Curl+shift+x16 ????private static final Configuration CONFIG;17 ????private static final SessionFactory FACTORY;18 ????19 ????//编写静态代码20 ????static {21 ????????//加载配置文件22 ????????CONFIG =new Configuration().configure();23 ????????//构造工厂24 ????????FACTORY=CONFIG.buildSessionFactory();25 ????}26 ????27 ????/*28 ?????* 从工厂获取Session对象29 ?????* @return30 ?????*/31 ????public static Session getSession() {32 ????????return FACTORY.openSession();33 ????????34 ????}35 }
View Code

4. 保存数据

 1 /* 2 ?????* 1 保存数据 3 ?????*/ 4 ????@Test 5 ????public void testSave(){ 6 ????????/* 7 ?????????* 1.先加载配置文件 8 ?????????* 2.创建SessionFactory对象,生成Session对象 9 ?????????* 3.创建Sesison对象10 ?????????* 4.开启事务11 ?????????* 5.编写保存代码12 ?????????* 6.提交事务13 ?????????* 7.释放资源14 ?????????*/15 ????????16 ????????//1.加载配置文件17 ????????Configuration config=new Configuration();18 ????????//默认加载src目录下hibernate.cfg.xml的配置文件19 ????????config.configure();20 ????????//2.创建SessionFactory对象21 ????????SessionFactory factory=config.buildSessionFactory();22 ????????//3.创建session对象23 ????????Session session=factory.openSession();24 ????????//4.开启事务25 ????????Transaction tr= ?session.beginTransaction();26 ????????27 ????????//5.编写保存代码28 ????????Customer customer = new Customer();29 ????????customer.setCust_name("小李");30 ????????customer.setCust_source("小广告");31 32 ????????33 ????????session.save(customer);34 ????????//6.提交事务35 ????????tr.commit();36 ????????37 ????????//7.释放资源38 ????????session.close();39 ????????factory.close();40 ????}41 ????
View Code

5.测试工具类

 1 ????/* 2 ?????* 2 测试工具类 3 ?????*/ 4 ????@Test 5 ????public void testSave2(){ 6 ????????//原来:加载配置文件,获取Factory对象,获取Session 7 ????????Session session=HibernateUtils.getSession(); 8 ????????Transaction tr=session.beginTransaction(); 9 ????????Customer c=new ?Customer();10 ????????c.setCust_name("小陈");11 ????????session.save(c);12 ????????13 ????????//提交事务14 ????????tr.commit();15 ????????//释放资源16 ????????session.close();17 ????????18 ????}
View Code

6.测试get()方法

 1 ????/* 2 ?????* 3 测试get()方法,获取查询,通过主键查询一条记录 3 ?????*/ 4 ????@Test 5 ????public void testSave3(){ 6 ????????//原来:加载配置文件,获取Factory对象,获取Session 7 ????????Session session=HibernateUtils.getSession(); 8 ????????Transaction tr=session.beginTransaction(); 9 ????????10 ????????//测试查询的两个参数,arg0查询javaBean的class对象,arg1主键的值11 ????????Customer c=session.get(Customer.class, 95L);12 ????????System.out.println(c);13 ????????14 ????????15 ????????//提交事务16 ????????tr.commit();17 ????????//释放资源18 ????????session.close(); ???19 ????}
View Code

7.删除方法

 1 ????/* 2 ?????* 4 测试删除的方法 3 ?????* 注意:删除或者修改,先查询再删除或者修改 4 ?????*/ 5 ????@Test 6 ????public void testDel(){ 7 ????????//原来:加载配置文件,获取Factory对象,获取Session 8 ????????Session session=HibernateUtils.getSession(); 9 ????????Transaction tr=session.beginTransaction();10 ????????11 ????????//测试查询的两个参数,arg0查询javaBean的class对象,arg1主键的值12 ????????Customer c=session.get(Customer.class, 95L);13 ????????System.out.println(c);14 ????????15 ????????//删除客户16 ????????session.delete(c);17 ????????18 ????????//提交事务19 ????????tr.commit();20 ????????//释放资源21 ????????session.close(); ???22 ????}23 ????
View Code

8.测试修改

 1 /* 2 ?????*5 测试修改 3 ?????*/ 4 ????@Test 5 ????public void testUpdate(){ 6 ????????//原来:加载配置文件,获取Factory对象,获取Session 7 ????????Session session=HibernateUtils.getSession(); 8 ????????Transaction tr=session.beginTransaction(); 9 ????????10 ????????//测试查询的两个参数,arg0查询javaBean的class对象,arg1主键的值11 ????????Customer c=session.get(Customer.class, 94L);12 ????????System.out.println(c);13 ????????14 ????????//设置客户信息15 ????????c.setCust_name("小龙虾");16 ????????17 ????????//修改或是更新18 ????????session.update(c);19 ????????20 ????????//session.saveOrUpdate(c); 添加或是修改21 ????????//提交事务22 ????????tr.commit();23 ????????//释放资源24 ????????session.close(); ???25 ????}
View Code

9.测试查询方法

 1 /* 2 ?????* 测试查询方法 3 ?????*/ 4 ????@Test 5 ????public void testSel() { 6 ????????//加载配置文件 7 ????????Session session =HibernateUtils.getSession(); 8 ????????Transaction tr=session.beginTransaction(); 9 ????????10 ????????//创建查询的接口11 ????????Query query=session.createQuery("from Customer");12 ????????13 ????????//查询所有的数据14 ????????List<Customer> list=query.list();15 ????????for(Customer customer:list) {16 ????????????System.out.println(customer);17 ????????}18 ????????19 ????????//提交事务20 ????????tr.commit();21 ????????22 ????????//释放资源23 ????????session.close();24 ????????25 ????}
View Code

Hibernate的入门(增删改查):

原文地址:https://www.cnblogs.com/chenyanlong/p/9740358.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved