实体类关联数据库字段,操作实体类,HQL语句对数据结构CRUD)

引入jar包

配置文件

hibernate.cfg.xml

User.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping>
<class name="com.book.entity.User" table="USER_NEW">
<id name="userid" type="java.lang.Integer">
<column name="USERID" />
<generator class="sequence">
<param name="sequence">SEQ_ID</param>
</generator>
</id>
<property name="username" type="java.lang.String">
<column name="USERNAME"/>
</property>
<property name="userpassword" type="java.lang.String">
<column name="USERPASSWORD" length="50" not-null="true" />
</property>
<property name="role" type="java.lang.Integer">
<column name="ROLE"/>
</property>
<property name="state" type="java.lang.Integer">
<column name="STATE"/>
</property>
<property name="email" type="java.lang.String">
<column name="EMAIL"/>
</property>
<property name="createdate" type="java.util.Date">
<column name="CREATEDATE"/>
</property>
</class>
</hibernate-mapping>

  增

package com.book.test;

import java.util.Date;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import com.book.entity.User; public class AddTest {
public static void main(String[] args) {
Configuration conf = null;
SessionFactory sessionFactory =null;
Session session = null;
Transaction tx = null;
try {
//解析配置文件
conf = new Configuration().configure();
//创建解析工厂
sessionFactory= conf.buildSessionFactory();
//打开session
session = sessionFactory.openSession();
//开启事务
tx = session.beginTransaction();
//创建对象
User user = new User("Tom","adsf123",0,0,"sdsad@qq.com",new Date());
//增 添加数据
session.save(user);
//提交
tx.commit();
} catch (HibernateException e) {
//回滚
tx.rollback();
e.printStackTrace();
}finally{
if(session!=null){
session.close();
}
if(sessionFactory!=null){
sessionFactory.close();
}
}
}
}

  删

package com.book.test;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import com.book.entity.User; public class DelTest {
public static void main(String[] args) {
Configuration conf = null;
SessionFactory sessionFactory =null;
Session session = null;
Transaction tx = null;
try {
//解析配置文件
conf = new Configuration().configure();
//创建解析工厂
sessionFactory= conf.buildSessionFactory();
//打开session
session = sessionFactory.openSession();
//开启事务
tx = session.beginTransaction();
//先查 后删除 load和get一样
User user =(User) session.load(User.class, 45);
session.delete(user); //提交
tx.commit();
} catch (HibernateException e) {
tx.rollback();
e.printStackTrace();
}finally{
if(session!=null){
session.close();
}
if(sessionFactory!=null){
sessionFactory.close();
}
}
}
}

  改

package com.book.test;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import com.book.entity.User; public class UpdateTest {
public static void main(String[] args) {
Configuration conf = null;
SessionFactory sessionFactory =null;
Session session = null;
Transaction tx = null;
try {
//解析配置文件
conf = new Configuration().configure();
//创建解析工厂
sessionFactory= conf.buildSessionFactory();
//打开session
session = sessionFactory.openSession();
//开启事务
tx = session.beginTransaction();
//先查 后改
User user =(User) session.load(User.class, 45);
user.setEmail("504177380@qq.com"); session.update(user);
//提交
tx.commit();
} catch (HibernateException e) {
tx.rollback();
e.printStackTrace();
}finally{
if(session!=null){
session.close();
}
if(sessionFactory!=null){
sessionFactory.close();
}
}
}
}

  查

package com.book.test;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import com.book.entity.User; public class QueryTest {
public static void main(String[] args) { Configuration conf = null;
SessionFactory sessionFactory =null;
Session session = null; try {
//解析配置文件
conf = new Configuration().configure();
//创建解析工厂
sessionFactory= conf.buildSessionFactory();
//打开session
session = sessionFactory.openSession(); //查 查不涉及 事务
User user =(User) session.load(User.class, 45);
System.out.println(user.getUserpassword()+" "+user.getUsername()); } catch (HibernateException e) { e.printStackTrace();
}finally{
if(session!=null){
session.close();
}
if(sessionFactory!=null){
sessionFactory.close();
}
}
} }

  测试HQL语句

package com.book.test;

import java.util.Date;
import java.util.List; import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import com.book.entity.User; public class TestHql {
public static void main(String[] args) {
Configuration conf = null;
SessionFactory sessionFactory =null;
Session session = null; try {
//解析配置文件
conf = new Configuration().configure();
//创建解析工厂
sessionFactory= conf.buildSessionFactory();
//打开session
session = sessionFactory.openSession(); Query query = session.createQuery("from User where userid =?");
query.setInteger(0, 45);
//分页查询
int pageIndex=2;
int pageSize=10;
query.setFirstResult((pageIndex-1)*pageSize);
query.setMaxResults(pageSize);
List<User>list = query.list(); //单个对象
User user1 = (User)query.uniqueResult();
//多个对象的结果集
List<User> list1 =query.list(); for(int i=0;i<list.size();i++){
int userid = list.get(i).getUserid();
System.out.println(userid);
} //创建对象
User user = new User("Tom","adsf123",0,0,"sdsad@qq.com",new Date());
//增 添加数据
session.save(user);
//提交 } catch (HibernateException e) { e.printStackTrace();
}finally{
if(session!=null){
session.close();
}
if(sessionFactory!=null){
sessionFactory.close();
}
}
}
}

  

JAVAWEB 一一 Hibernate(框架)的更多相关文章

  1. ECLIPSE/JAVAWEB (二)三大框架之Hibernate框架 持续更新中...

    (一)发展历史 在Struts框架中使用jdbc连接来读写数据库,我们最常见的就是打开数据库连接.使用复杂的sql语句进行读写.关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常繁琐的过程. ...

  2. 1.Hibernate框架核心组件 (转自冯岩)

    Hibernate框架核心组件 在Hibernate框架简述中,演示了一个简单的Hibernate应用,但并没有深入说明其中程序,在这篇中将比较详细的介绍一下Hibernate的核心组件.首先最关键一 ...

  3. Struts2+Hibernate框架探险

    写这篇文章的目的 了解 JavaWeb 开发的人都知道SSH和SSM框架,前段时间开始接触 JavaWeb 开发,看了几个教学视频后就想上手构建一个小型 Web项目,可在跟着视频敲代码当中,使用 St ...

  4. hibernate框架的简单入门

    1.什么是框架 框架是一个半成品,框架帮我们实现了一部分的功能. 2.使用框架的最大好处 使用框架的最大好处就是,少写一部分代码但仍能实现我们所需要实现的功能. 3.什么是hiberbnate框架 ( ...

  5. Hibernate框架第三天

    **课程回顾:Hibernate第二天** 1. 持久化类和一级缓存 * 持久化类:JavaBean + 映射的配置文件 * 持久化对象的三种状态 * 瞬时态 * 持久态:有自动更新数据的能力 * 托 ...

  6. Hibernate框架第二天

    ### Hibernate的持久化类 ### ---------- **什么是持久化类** 1. 持久化类:就是一个Java类(咱们编写的JavaBean),这个Java类与表建立了映射关系就可以成为 ...

  7. (01)hibernate框架环境搭建及测试

    ---恢复内容开始--- 1.创建javaweb项目 2.导包 hibernate包 hibernate\lib\required\*.jar 数据库驱动包 mysql-connector-java- ...

  8. Hibernate框架之Criteria查询 和注解(重点☆☆☆☆☆,难点☆☆☆)

    写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解 ...

  9. Hibernate 系列 01 - 框架技术 (介绍Hibernate框架的发展由来)

    引导目录: Hibernate 系列教程 目录 本篇导航: 为什么学习框架技术 框架的概念 主流框架的介绍 1.为什么学习框架技术 如何制作一份看上去具有专业水准的PPT文档呢?一个简单的方法就是使用 ...

随机推荐

  1. U3d学习001-RollBox例子

    1.世界坐标系和局部坐标系(参照物坐标系)——以参照物为父物体节点  2.刚体组件:       获得GetComponent<Rigidbody>();     移动AddForce(n ...

  2. 反射中的BindingFlags

    不指定绑定标志  BindingFlags.Default 表示忽略 name 的大小写,不应考虑成员名的大小写   BindingFlags.IgnoreCase 只应考虑在所提供类型的层次结构级别 ...

  3. CentOS7.3编译hadoop2.7.3源码

    在使用hive或者是kylin时,可以选择文件的压缩格式,但是这个需要有hadoop native库的支持,默认情况下,hadoop官方发布的二进制包中是不包含native库的,所以无法使用一些压缩相 ...

  4. HTML中head与body标签

    一 head内常用标签 1.meta相关 #1.指定字符集 <meta charset="gbk"> #2.页面描述 <meta name="Descr ...

  5. Bootstrap如何关闭弹窗

    1.layer.closeAll()无法关闭弹窗的解决办法 使可以使用:parent.layer.closeAll() 2.layer.close()或者layer.closeAll()失效的情况下强 ...

  6. CSS3帧动画

    在前面的文章中也有介绍过css3动画的内容,可见<关于transition和animation>和<webkitAnimationEnd动画事件>,今天又要唠叨一下这个东西了, ...

  7. 微信小程序笔记<二>认识app.json

    *.json文件在小程序开发中必不可少,从 app.json 开始认识小程序中的配置文件*.json: app.json 为小程序必须文件,它不仅作为配置文件管理着小程序的UI还充当着路由器的功能: ...

  8. tornado-模版reverse_url

    from tornado.web import url handler=[ url(r"/hello", grab_handler.HelloHandler, name='hell ...

  9. Ruby学习笔记2 : 一个简单的Ruby网站,搭建ruby环境

    Ruby on Rails website 的基础是 请求-返回 循环. 首先是浏览器请求服务器, 第二步,Second, in our Rails application, the route ta ...

  10. 2. oracle创建表空间、用户并设置默认表空间、授权

    1.创建用户并设置默认表空间 create tablespace tablespacename datafile 'tablespacename.dbf' size 200m autoextend o ...