基于Hibernate实现CRUD.docx

上传人:b****2 文档编号:3092454 上传时间:2023-05-05 格式:DOCX 页数:17 大小:16.30KB
下载 相关 举报
基于Hibernate实现CRUD.docx_第1页
第1页 / 共17页
基于Hibernate实现CRUD.docx_第2页
第2页 / 共17页
基于Hibernate实现CRUD.docx_第3页
第3页 / 共17页
基于Hibernate实现CRUD.docx_第4页
第4页 / 共17页
基于Hibernate实现CRUD.docx_第5页
第5页 / 共17页
基于Hibernate实现CRUD.docx_第6页
第6页 / 共17页
基于Hibernate实现CRUD.docx_第7页
第7页 / 共17页
基于Hibernate实现CRUD.docx_第8页
第8页 / 共17页
基于Hibernate实现CRUD.docx_第9页
第9页 / 共17页
基于Hibernate实现CRUD.docx_第10页
第10页 / 共17页
基于Hibernate实现CRUD.docx_第11页
第11页 / 共17页
基于Hibernate实现CRUD.docx_第12页
第12页 / 共17页
基于Hibernate实现CRUD.docx_第13页
第13页 / 共17页
基于Hibernate实现CRUD.docx_第14页
第14页 / 共17页
基于Hibernate实现CRUD.docx_第15页
第15页 / 共17页
基于Hibernate实现CRUD.docx_第16页
第16页 / 共17页
基于Hibernate实现CRUD.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于Hibernate实现CRUD.docx

《基于Hibernate实现CRUD.docx》由会员分享,可在线阅读,更多相关《基于Hibernate实现CRUD.docx(17页珍藏版)》请在冰点文库上搜索。

基于Hibernate实现CRUD.docx

基于Hibernate实现CRUD

实验五基于Hibernate实现CRUD

实验步骤

1.使用Hibernate设计通用接口实现对Java对象进行增查改删(CRUD)的工作;

具体要求:

实现CRUD接口具有通用性;可以在已有项

目中增加相应接口;提前设计好,最后一次实验演示,

并提交相关代码及本次实验报告。

hibernate.cfg.xml

xmlversion='1.0'encoding='utf-8'?

>

DOCTYPEhibernate-configurationPUBLIC

"-HibernateHibernateConfigurationDTD3.0EN"

"http:

www.hibernate.orgdtdhibernate-configuration-3.0.dtd">

--Databaseconnectionsettings-->

com.mysql.jdbc.Driver

jdbc:

mysql:

localhost:

3306hxj

root

root

--JDBCconnectionpool(usethebuilt-in)-->

--1-->

--SQLdialect-->

org.hibernate.dialect.MySQLDialect

--EnableHibernate'sautomaticsessioncontextmanagement-->

thread

--Disablethesecond-levelcache-->

org.hibernate.cache.NoCacheProvider

--EchoallexecutedSQLtostdout-->

true

--Dropandre-createthedatabaseschemaonstartup-->

update

---->

Teacher.java

packagecom.hibernate.model;

importjava.io.Serializable;

importjavax.persistence.Column;

importjavax.persistence.Entity;

importjavax.persistence.GeneratedValue;

importjavax.persistence.Id;

importjavax.persistence.Table;

importorg.hibernate.annotations.GenericGenerator;

@Entity

@Table(name="t_teacher")

publicclassTeacherimplementsSerializable{

privateintid;

privateStringusername;

privateintage;

@Id

@GenericGenerator(name="generator",strategy="increment")

@GeneratedValue(generator="generator")

@Column(name="id")

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

@Column(name="t_username")

publicStringgetUsername(){

returnusername;

}

publicvoidsetUsername(Stringusername){

this.username=username;

}

@Column(name="t_age")

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

}

获取SessionFactory的单例类:

HibernateUtil.java

packagecom.hibernate.util;

importorg.hibernate.SessionFactory;

importorg.hibernate.cfg.AnnotationConfiguration;

importorg.hibernate.cfg.Configuration;

publicclassHibernateUtil{

privatestaticfinalSessionFactorysessionFactory;

static{

try{

CreatetheSessionFactoryfromhibernate.cfg.xml

sessionFactory=newConfiguration().configure().buildSessionFactory();

sessionFactory=newAnnotationConfiguration().configure()

.buildSessionFactory();

}catch(Throwableex){

Makesureyoulogtheexception,asitmightbeswallowed

System.err.println("InitialSessionFactorycreationfailed."+ex);

thrownewExceptionInInitializerError(ex);

}

}

publicstaticSessionFactorygetSessionFactory(){

returnsessionFactory;

}

}

CURD操作:

TeacherManager.java

packagecom.hibernate.action;

importjava.util.List;

importorg.hibernate.Query;

importorg.hibernate.Session;

importorg.hibernate.Transaction;

importcom.hibernate.model.Person;

importcom.hibernate.model.Teacher;

importcom.hibernate.util.HibernateUtil;

publicclassTeacherManager{

publicstaticvoidmain(String[]args){

selectTeacher_By_Load

(1);

insertTeacher();

deleteTeacher();

selectAll();

updateTeacher();

insertTeacher();

createAndStoreTeacher();

select_All_By_Get

(2);

select_AllPerson_By_Get();

annotation();

HibernateUtil.getSessionFactory().close();

}

privatestaticvoidinsertTeacher(){

Sessionsession=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Teacherteacher=newTeacher();

teacher.setUsername("aaa");

teacher.setAge(25);

session.save(teacher);

session.getTransaction().commit();

System.out.println("insertteachersuccessfully");

}

privatestaticvoiddeleteTeacher(){

intcount;

Sessionsession=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Queryquery=session.createQuery("deleteTeacherwhereid=?

");

query.setParameter(0,1);

count=query.executeUpdate();

session.getTransaction().commit();

System.out.println("删除"+count+"条teacher记录");

}

privatestaticvoidselectTeacher_By_Load(intid){

Sessionsession=HibernateUtil.getSessionFactory().openSession();

Sessionsession=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Teacherteacher=(Teacher)session.load(Teacher.class,id);

System.out.println("load方式commit之前====>Id:

"+teacher.getId()+"UserName:

"+teacher.getUsername()+"Age:

"+teacher.getAge());

session.getTransaction().commit();

System.out.println("load方式commit之后====》Id:

"+teacher.getId()+"UserName:

"+teacher.getUsername()+"Age:

"+teacher.getAge());

session.close();

}

privatestaticvoidselectTeacher_By_Get(intid){

Sessionsession=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Teacherteacher=(Teacher)session.get(Teacher.class,id);

System.out.println("get方式commit之前====>Id:

"+teacher.getId()+"UserName:

"+teacher.getUsername()+"Age:

"+teacher.getAge());

session.getTransaction().commit();

System.out.println("get方式commit之后====>Id:

"+teacher.getId()+"UserName:

"+teacher.getUsername()+"Age:

"+teacher.getAge());

}

privatestaticvoidselectAll_By_Request(){

Sessionsession=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Queryquery=session.createQuery("fromTeacherwhereid=?

andage=:

tage");

query.setParameter(0,2);

query.setInteger(0,2);

query.setParameter("tage",27);

query.setInteger("tage",27);

Listlistteacher=(List)query.list();

printList(listteacher);

}

privatestaticvoidselectAll(){

Sessionsession=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Queryquery=session.createQuery("fromTeacher");

Listlistteacher=(List)query.list();

printList(listteacher);

}

privatestaticvoidupdateTeacher(){

intcount;

Sessionsession=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Queryquery=session.createQuery("updateTeachersett_username='123'whereid=?

");

query.setInteger(0,2);

count=query.executeUpdate();

session.getTransaction().commit();

System.out.println("更新"+count+"条记录");

}

privatestaticvoidprintList(Listlistteacher){

for(Teacherteacher:

listteacher){

System.out.println("Id:

"+teacher.getId()+"UserName:

"+teacher.getUsername()+"Age:

"+teacher.getAge());

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2