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

1.目录

2.实体类修改

 package com.itheima.domain;

 /*
* 客户的javaBean
* @author chenyanlong
*/
public class Customer {
private Long cust_id;
private String cust_name;
private Long cust_user_id;
private Long cust_create_id;
private String cust_source;
private String cust_industry;
private String cust_level;
private String cust_linkman;
private String cust_phone;
private String cust_mobile;
public Long getCust_id() {
return cust_id;
}
public void setCust_id(Long cust_id) {
this.cust_id = cust_id;
}
public String getCust_name() {
return cust_name;
}
public void setCust_name(String cust_name) {
this.cust_name = cust_name;
}
public Long getCust_user_id() {
return cust_user_id;
}
public void setCust_user_id(Long cust_user_id) {
this.cust_user_id = cust_user_id;
}
public Long getCust_create_id() {
return cust_create_id;
}
public void setCust_create_id(Long cust_create_id) {
this.cust_create_id = cust_create_id;
}
public String getCust_source() {
return cust_source;
}
public void setCust_source(String cust_source) {
this.cust_source = cust_source;
}
public String getCust_industry() {
return cust_industry;
}
public void setCust_industry(String cust_industry) {
this.cust_industry = cust_industry;
}
public String getCust_level() {
return cust_level;
}
public void setCust_level(String cust_level) {
this.cust_level = cust_level;
}
public String getCust_linkman() {
return cust_linkman;
}
public void setCust_linkman(String cust_linkman) {
this.cust_linkman = cust_linkman;
}
public String getCust_phone() {
return cust_phone;
}
public void setCust_phone(String cust_phone) {
this.cust_phone = cust_phone;
}
public String getCust_mobile() {
return cust_mobile;
}
public void setCust_mobile(String cust_mobile) {
this.cust_mobile = cust_mobile;
}
@Override
public String toString() {
return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + ", cust_user_id=" + cust_user_id
+ ", cust_create_id=" + cust_create_id + ", cust_source=" + cust_source + ", cust_industry="
+ cust_industry + ", cust_level=" + cust_level + ", cust_linkman=" + cust_linkman + ", cust_phone="
+ cust_phone + ", cust_mobile=" + cust_mobile + "]";
} }

3.HibernateUtils.java

 package com.itheima.utils;

 import javax.servlet.jsp.jstl.core.Config;

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; /*
* Hibernate框架的工具
* @author chenyanlong
*/
public class HibernateUtils { //Curl+shift+x
private static final Configuration CONFIG;
private static final SessionFactory FACTORY; //编写静态代码
static {
//加载配置文件
CONFIG =new Configuration().configure();
//构造工厂
FACTORY=CONFIG.buildSessionFactory();
} /*
* 从工厂获取Session对象
* @return
*/
public static Session getSession() {
return FACTORY.openSession(); }
}

4. 保存数据

 /*
* 1 保存数据
*/
@Test
public void testSave(){
/*
* 1.先加载配置文件
* 2.创建SessionFactory对象,生成Session对象
* 3.创建Sesison对象
* 4.开启事务
* 5.编写保存代码
* 6.提交事务
* 7.释放资源
*/ //1.加载配置文件
Configuration config=new Configuration();
//默认加载src目录下hibernate.cfg.xml的配置文件
config.configure();
//2.创建SessionFactory对象
SessionFactory factory=config.buildSessionFactory();
//3.创建session对象
Session session=factory.openSession();
//4.开启事务
Transaction tr= session.beginTransaction(); //5.编写保存代码
Customer customer = new Customer();
customer.setCust_name("小李");
customer.setCust_source("小广告"); session.save(customer);
//6.提交事务
tr.commit(); //7.释放资源
session.close();
factory.close();
}

5.测试工具类

     /*
* 2 测试工具类
*/
@Test
public void testSave2(){
//原来:加载配置文件,获取Factory对象,获取Session
Session session=HibernateUtils.getSession();
Transaction tr=session.beginTransaction();
Customer c=new Customer();
c.setCust_name("小陈");
session.save(c); //提交事务
tr.commit();
//释放资源
session.close(); }

6.测试get()方法

     /*
* 3 测试get()方法,获取查询,通过主键查询一条记录
*/
@Test
public void testSave3(){
//原来:加载配置文件,获取Factory对象,获取Session
Session session=HibernateUtils.getSession();
Transaction tr=session.beginTransaction(); //测试查询的两个参数,arg0查询javaBean的class对象,arg1主键的值
Customer c=session.get(Customer.class, 95L);
System.out.println(c); //提交事务
tr.commit();
//释放资源
session.close();
}

7.删除方法

     /*
* 4 测试删除的方法
* 注意:删除或者修改,先查询再删除或者修改
*/
@Test
public void testDel(){
//原来:加载配置文件,获取Factory对象,获取Session
Session session=HibernateUtils.getSession();
Transaction tr=session.beginTransaction(); //测试查询的两个参数,arg0查询javaBean的class对象,arg1主键的值
Customer c=session.get(Customer.class, 95L);
System.out.println(c); //删除客户
session.delete(c); //提交事务
tr.commit();
//释放资源
session.close();
}

8.测试修改

 /*
*5 测试修改
*/
@Test
public void testUpdate(){
//原来:加载配置文件,获取Factory对象,获取Session
Session session=HibernateUtils.getSession();
Transaction tr=session.beginTransaction(); //测试查询的两个参数,arg0查询javaBean的class对象,arg1主键的值
Customer c=session.get(Customer.class, 94L);
System.out.println(c); //设置客户信息
c.setCust_name("小龙虾"); //修改或是更新
session.update(c); //session.saveOrUpdate(c); 添加或是修改
//提交事务
tr.commit();
//释放资源
session.close();
}

9.测试查询方法

 /*
* 测试查询方法
*/
@Test
public void testSel() {
//加载配置文件
Session session =HibernateUtils.getSession();
Transaction tr=session.beginTransaction(); //创建查询的接口
Query query=session.createQuery("from Customer"); //查询所有的数据
List<Customer> list=query.list();
for(Customer customer:list) {
System.out.println(customer);
} //提交事务
tr.commit(); //释放资源
session.close(); }

Hibernate的入门(增删改查):的更多相关文章

  1. 肝 hibernate 配置and增删改查 and 测试

    已经通宵三天撸代码了,现在的我已经养成晚上修仙写代码的节奏了.....最近 刚刚复习到了 hibernate 谈谈 这篇文章就谈谈我对这货的理解吧. 在看这篇文章之前希望你 知道sessionfact ...

  2. Hibernate下的增删改查

    概述: 关系--对象映射的中间件,属于开源ORM框架,是我们业务逻辑层中的调用数据库的中间件 演变: jdbc---hibernater---mybatis hibernate和mybatis区别? ...

  3. hibernate搭建及其增删改查

    一.jar包 最基础的hibernatejar包,以及数据库驱动的jar包 二.数据库 t_user表 id int 主键 自动增长 name varchar() 三.配置文件 <?xml ve ...

  4. hibernate的配置, 增删改查

    路径:查找路径 实际上都是查找编译后的对应的路径,在bin文件夹中总 增删改必须开启事务才行 hibernate加载文件的两种方式 configure 1.引包 antlr-2.7.6.jar bac ...

  5. Rhythmk 学习 Hibernate 01 - maven 创建Hibernate 项目之 增删改查入门

    1.环境: Maven :3.1.1 开发工具:Spring Tool Suite 数据库 : Mysql  5.6 2.项目文件结构 文件代码: 2.1 .pom.xml <project x ...

  6. struts+hibernate 请求数据库增删改查(小项目实例)

      StudentAction.java package com.action; import java.util.ArrayList; import java.util.List; import j ...

  7. 5.Hibernate实现全套增删改查和ajax异步分页

    1.1 创建如下oracle数据库脚本 drop sequence seq_stu; create sequence SEQ_STU minvalue maxvalue start increment ...

  8. JPA+Hibernate 3.3 ——增删改查

    1.     查找对象   1)  用find()方法查找对象 public void getPerson(){ EntityManagerFactory factory = Persistence. ...

  9. Mongodb基本操作入门,增删改查和索引

    主要进程 mongod.exe为启动数据库实例的进程. mongo是一个与mongod进程进行交互的JavaScript shell进程,它提供了一些交互的接口函数用户对数据库的管理. 基本命令 sh ...

随机推荐

  1. 提高SqlServer数据库的安全性,禁用掉sa账户

    Sqlsever 数据库有两种登陆身份验证模式,一种是windows身份验证:一种是sqlserver 账户验证模式,在sqlserver 账户验证模式中,sa账户是大家所熟知的,并且sa也是内置的默 ...

  2. P1164 小A点菜

    原题链接 https://www.luogu.org/problemnew/show/P1164 此题是一道简单的动规问题 才学两天不是很熟练,我苦思冥想看着题解终于想出来了. 主要的思路如下: 我们 ...

  3. 洛谷P1216数字三角形题解

    题目 这道题是一个典型的DP,可以用倒推,顺推的方法,来解这道题.当然用不同的方法他的循环次序是不一样的,所以我们一定要深刻地理解题目的大意,再采用状态转移方程与边界每次求出最优解,并记录循环一遍后就 ...

  4. Codeforces734 E. Anton and Tree

    传送门:>Here< 题意:给出一颗树,节点不是黑色就是白色,每次可以将一个颜色相同的块变颜色,问最少变几次才能让其变为同色 解题思路: 我们考虑由于每一次都是把同样颜色的色块进行变色,因 ...

  5. python+appium里的等待时间

    为什么要用等待时间: 今天在写App的自动化的脚本时发现一个元素,时而能点击,时而又不能点击到,很是心塞,原因是:因为元素还没有被加载出来,查找的代码就已经被执行了,自然就找不到元素了.解决方式:可以 ...

  6. Nifi InvokeHttp processor

    Authorization: Bearer <access-token> Content_type: application/json       NIFI 中国社区 QQ群:595034 ...

  7. Haunted Graveyard ZOJ - 3391(SPFA)

    从点(n,1)到点(1,m)的最短路径,可以转换地图成从(1,1)到(n,m)的最短路,因为有负权回路,所以要用spfa来判负环, 注意一下如果负环把终点包围在内的话, 如果用负环的话会输出无穷,但是 ...

  8. Chemical table CFR500 div2D(并查集)

    给定的一个n*m的区域内,给出一些点的坐标,这些点上有一个元素,如果在矩形的子矩形的三个点都有元素,那么第四个点的元素可以自己产生,其他的元素需要购买,问最少需要购买多少中元素才可以把这个区域给填满. ...

  9. 【mysql】mysql常用语句

    返回不重复数据 SELECT DISTINCT user_name,vistor_username FROM KY_FEED_VISTOR WHERE user_name='shenhy' 单独的di ...

  10. POJ--2104 K-th Number (主席树模版题)

    题目链接 求区间第k大 #include<iostream> #include<cstring> #include<algorithm> #include<v ...