hibernate框架学习之增删改查helloworld
插入数据
删除数据
修改数据
查询单条数据
查询多条数据
HelloWorldApp.java
- package cn.itcast.h3.helloworld;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
- import org.hibernate.cfg.Configuration;
- import cn.itcast.h3.helloworld.vo.UserModel;
- public class HelloWordApp {
- public static void main(String[] args) {
- //1.加载配置文件hibernate.cfg.xml,得到一个配置对象
- Configuration conf = new Configuration().configure();
- //2.由配置创建一个SessionFactory
- SessionFactory sf = conf.buildSessionFactory();
- //3.由SessionFactory得到Session
- Session s = sf.openSession();
- //4.由Session对象获取事务对象Transaction
- Transaction t = s.beginTransaction();
- //5.完成任务
- //5.1创建一个要存储的对象
- UserModel um = new UserModel();
- um.setUuid("1");
- um.setUserName("李若亮");
- um.setAge(34);
- um.setAddress("传智播客");
- //5.2保存
- s.save(um);
- //6.提交事务
- t.commit();
- //7.关闭Session
- s.close();
- //8.关闭SessionFactory(略)
- sf.close();
- }
- }
BaseOperApp.java
- package cn.itcast.h3.helloworld;
- 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 cn.itcast.h3.helloworld.vo.UserModel;
- public class BaseOperApp {
- //测试插入数据
- void testAdd(){
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session s = sf.openSession();
- Transaction t = s.beginTransaction();
- //1.准备一个要添加的数据
- UserModel um = new UserModel();
- um.setUuid("3");
- um.setUserName("李若亮");
- um.setAge(34);
- um.setAddress("传智播客");
- //2.调用save方法
- String res = (String) s.save(um);
- System.out.println(res);
- t.commit();
- s.close();
- }
- //测试修改数据
- void testUpdate(){
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session s = sf.openSession();
- Transaction t = s.beginTransaction();
- //1.准备一个要添加的数据
- UserModel um = new UserModel();
- um.setUuid("3");
- um.setUserName("Jock");
- um.setAge(34);
- um.setAddress("itcast");
- //2.调用update方法
- s.update(um);
- t.commit();
- s.close();
- }
- //测试删除数据
- void testDelete(){
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session s = sf.openSession();
- Transaction t = s.beginTransaction();
- //1.准备一个要添加的数据
- UserModel um = new UserModel();
- um.setUuid("1");
- //2.调用delete方法
- s.delete(um); //um对象只要有uuid就可以了
- t.commit();
- s.close();
- }
- //测试单个数据
- void testQueryOne(){
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session s = sf.openSession();
- //1.查询单个数据需要依赖主键进行查询
- //2.get(模型类.Class,uuid)方法得到一个对象,这个对象被包装成了Class格式
- //3.load(模型类.Class,uuid)方法得到一个对象,这个对象被包装成了Class格式
- UserModel um = (UserModel) s.load(UserModel.class, "3");
- System.out.println(um);
- s.close();
- }
- //测试全部数据
- void testQueryAll(){
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session s = sf.openSession();
- //1.获取Query对象
- //创建Query对象时,需要使用Hibernate专用的查询语句HQL
- String hql = "from UserModel";
- Query q = s.createQuery(hql);
- //2.将结果查询出来,使用list方法,得到一个查询的结果集合
- List<UserModel> queryList = q.list();
- for(UserModel um:queryList){
- System.out.println(um);
- }
- s.close();
- }
- //测试全部数据2
- void testQueryAll2(){
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session s = sf.openSession();
- //1.使用本地SQL语句查询
- String sql = "select * from tbl_user";
- //2.使用SQL查询,需要使用SQLQuery对象,该对象使用Session获得
- SQLQuery sq = s.createSQLQuery(sql);
- //3.查询结果也可以使用list将结果封装成一个集合
- List<Object[]> queryList = sq.list();
- for(Object[] objs: queryList){
- for(Object obj:objs){
- System.out.println(obj);
- }
- System.out.println("------------------");
- }
- s.close();
- }
- public static void main(String[] args) {
- new BaseOperApp().testQueryAll2();
- }
- }
hibernate框架学习之增删改查helloworld的更多相关文章
- hibernate关联对象的增删改查------查
本篇博客是之前博客hibernate关联对象的增删改查------查 的后继,本篇代码的设定都在前文已经写好,因此读这篇之前,请先移步上一篇博客 //代码片5 SessionFactory sessi ...
- Spring JdbcTemplate框架搭建及其增删改查使用指南
Spring JdbcTemplate框架搭建及其增删改查使用指南 前言: 本文指在介绍spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转控制的使用方法和JDBC的基 ...
- Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之ssh框架整合
前言 转载请标明出处:http://www.cnblogs.com/smfx1314/p/7795837.html 本项目是我写的一个练习,目的是回顾ssh框架的整合以及使用.项目介绍: ...
- Hibernate进行对象的增删改查
首先我们看看hibernate手动配置步骤 (这个了解一点就可以了,以后是不会自己全部手动配置的) 1. 创建WEB项目 2 下载hibernate-release-4.3.11.F ...
- SSHE框架整合(增删改查)
1.前期准备:jar包(c3p0.jdbc ,各个框架) web.xml文件:spring的 转码的,和Struts2的过滤器 <?xml version="1.0" e ...
- hibernate关联对象的增删改查------增
本文可作为,北京尚学堂马士兵hibernate课程的学习笔记. 这一节,我们看看hibernate关联关系的增删改查 就关联关系而已,咱们在上一节已经提了很多了,一对多,多对一,单向,双向... 其实 ...
- JDBC学习笔记——增删改查
1.数据库准备 要用JDBC操作数据库,第一步当然是建立数据表: ? 1 2 3 4 5 6 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_I ...
- Hibernate入门案例及增删改查
一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...
- 快速入门GreenDao框架并实现增删改查案例
大家的项目中不可避免的使用到SQLite,为此我们要花费心思编写一个增删改查框架.而一个好的ORM框架则能够给我们带来极大的方便,今天给大家讲解一个非常火热的ORM-GreenDao. 基本概念 Gr ...
随机推荐
- 3、JPA-API
Persistence Persistence 类用于获取 EntityManagerFactory 实例,该类包含一个名为 createEntityManagerFactory 的静态方法 . cr ...
- sc (service control )
SC 是用来与服务控制管理器和服务进行通信 net: net start 服务名 net stop 服务名 sc: sc config 服务名 start= demand //手动 sc con ...
- Maccms8.x 命令执行漏洞分析
下载链接https://share.weiyun.com/23802397ed25681ad45c112bf34cc6db 首先打开Index.php $m = be('get','m'); m参数获 ...
- Mongodb aggregation 基本操作示例
MongoDB二个主要的操作:一个是查询,另一个是统计.对于查询而言,主要是find()方法,再配合Filters组合多个查询条件. 对于统计而言,则主要是aggregate操作,比如 group.s ...
- Left join update和 ROW_NUMBER
(1)Left join 更新update a set a.name=b.name from a left join b on a.id=b.stuid(2)ROW_NUMBERselect ROW_ ...
- 使用 CROSS APPLY 与 OUTER APPLY 连接查询
Ø 前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某 ...
- Docker(五)如何构建Dockerfile
摘自 https://mp.weixin.qq.com/s/_hq9dPe6390htN8BTkoQeQ 一.Dockerfile的指令集 由于Dockerfile中所有的命令都是以下格式:INSTR ...
- vue-组件命名
vue的组件命名,不能带有大写字母. 正确的写法: components:{ 'myder':av } 错误写法: components:{ 'myDer':av }
- 数据库截取字符串SUBSTR函数的使用
背景 今天中午做需求的时候,有类似于根据银行卡卡号的前几位判断出是哪个银行的情况,每个银行需要截取的位数都不一样,这时我就想到了SUBSTR 数据库截取字符串SUBSTR函数的使用 假设有一个表的结构 ...
- python之实现循环查看指定路径下的所有文件---os.walk
循环查看指定路径下的所有文件.文件夹,包含隐藏文件注:“.filename” 以点开头的是隐藏文件 import os for cur_path,cur_dirs,cur_files in os.wa ...