博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate ORM框架——续第一章:Hibernate的增删改查(第一个hibernate代码的优化)...
阅读量:6958 次
发布时间:2019-06-27

本文共 3756 字,大约阅读时间需要 12 分钟。

一:.项目结构

 

二、代码

1)HibernateUtil

package util;import org.hibernate.SessionFactory;import org.hibernate.boot.MetadataSources;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;public class HibernateUtil {    private static SessionFactory sf;        static {        StandardServiceRegistry registry =                new StandardServiceRegistryBuilder()                .configure()//实验方法给个参数,看配置文件名能否不是hibernate.cfg.xml                .build();                sf = new MetadataSources(registry)                .buildMetadata()                .buildSessionFactory();    }        public static SessionFactory getSessionFactory(){        return sf;    }}

 

2)配置文件hibernate.cfg.xml

oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@localhost:1521:orcl
myuser
123
org.hibernate.dialect.Oracle10gDialect
create
true
true

 

3.1)实体对象

package entity;public class Student {    private String sno;    private String sname;    public String getSno() {        return sno;    }    public void setSno(String sno) {        this.sno = sno;    }    public String getSname() {        return sname;    }    public void setSname(String sname) {        this.sname = sname;    }    }

 

3.2)实体映射文件

 

4)dao方法

package dao;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import entity.Student;import util.HibernateUtil;public class StudentDao {    private SessionFactory sf;    public StudentDao() {        sf = HibernateUtil.getSessionFactory();    }        /*添加*/    public void insert(Student stu){        Session s = sf.openSession();                Transaction ts = s.beginTransaction();        /*添加*/        s.save(stu);                ts.commit();        s.close();    }        /*修改*/    public void udate(Student stu){        Session s = sf.openSession();                Transaction ts = s.beginTransaction();        /*修改*/        s.update(stu);                ts.commit();        s.close();       }        /*删除*/    public void delete(String sno){        Session session = sf.openSession();        Transaction tx = session.beginTransaction();                Student stu = session.get(Student.class, sno);        /*删除*/        session.delete(stu);        tx.commit();        session.close();    }        /*查询*/    public List
getAll(){ Session s = sf.openSession(); String hql = "from Student"; /*查询*/ List
list = s.createQuery(hql).list(); s.close(); return list; } }

 

5)test测试

package test;import dao.StudentDao;import entity.Student;public class Main {    public static void main(String[] args) {        StudentDao dao = new StudentDao();                /*添加*/        Student stu = new Student();        stu.setSno("22");        stu.setSname("z22");        dao.insert(stu);                /*修改*/        /*Student stu = new Student();        stu.setSno("11");        stu.setSname("2222222");        dao.udate(stu);*/                /*查询*/        /*        List
list = dao.getAll(); for(Student s: list){ System.out.println(s.getSname()); }*/ /*删除*/ /*dao.delete("22");*/ }}

 

 

/*以上个人整理笔记,如果有误或者有不懂的地方,欢迎评论与指出*/

转载于:https://www.cnblogs.com/Sunny-lby/p/7350463.html

你可能感兴趣的文章
关于android中调用系统拍照,返回图片是旋转90度
查看>>
jQuery页面加载初始化的3种方法
查看>>
python常见环境安装
查看>>
生成随机唯一号码, 比如订单号
查看>>
ETHERNET帧结构
查看>>
CentOS7安装Hadoop2.7完整流程
查看>>
GIT的API主要应用示例
查看>>
directx11编程中遇到的错误及解决方法
查看>>
Java MongoDB
查看>>
python视频教程大全集下载啦
查看>>
项目相关的风险要素及分类
查看>>
[改善Java代码]子列表只是原列表的一个视图
查看>>
20个可能你不知道Linux网路工具
查看>>
李洪强漫谈iOS开发[C语言-031]-逻辑短路
查看>>
Linux系统设置及基本操作
查看>>
ANT自动编译
查看>>
JavaScript中的prototype
查看>>
一个可能有用的封闭PGSQL操作的PYTHON函数
查看>>
selenium 3.0发布
查看>>
Android 关于listView 显示不全的问题
查看>>