1、基于Hibernate实现CRUD实验五 基于Hibernate实现CRUD 实验步骤1. 使用Hibernate设计通用接口实现对Java对象进行增查改删(CRUD)的工作;具体要求:实现CRUD接口具有通用性;可以在已有项 目中增加相应接口;提前设计好,最后一次实验演示, 并提交相关代码及本次实验报告。 hibernate.cfg.xml com.mysql.jdbc.Driver jdbc:mysql: localhost:3306 hxj root root !- 1 - org.hibernate.dialect.MySQLDialect thread org.hibernate.c
2、ache.NoCacheProvider true update !- - Teacher.java package com. hibernate.model;import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.an
3、notations.GenericGenerator; Entity Table(name=t_teacher) public class Teacher implements Serializable private int id; private String username; private int age; Id GenericGenerator(name = generator, strategy = increment) GeneratedValue(generator = generator) Column(name = id) public int getId() retur
4、n id; public void setId(int id) this.id = id; Column(name=t_username) public String getUsername() return username; public void setUsername(String username) this.username = username; Column(name=t_age) public int getAge() return age; public void setAge(int age) this.age = age; 获取SessionFactory的单例类: H
5、ibernateUtil.java package com.hibernate.util; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.cfg.Configuration; public class HibernateUtil private static final SessionFactory sessionFactory; static try Create the SessionFactory from hibern
6、ate.cfg.xml sessionFactory = new Configuration().configure().buildSessionFactory(); sessionFactory = new AnnotationConfiguration().configure() .buildSessionFactory(); catch (Throwable ex) Make sure you log the exception, as it might be swallowed System.err.println(Initial SessionFactory creation fai
7、led. + ex); throw new ExceptionInInitializerError(ex); public static SessionFactory getSessionFactory() return sessionFactory; CURD操作:TeacherManager.java package com.hibernate.action;import java.util.List;import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction;impo
8、rt com.hibernate.model.Person; import com.hibernate.model.Teacher; import com.hibernate.util.HibernateUtil; public class TeacherManager public static void main(String args) selectTeacher_By_Load(1); insertTeacher(); deleteTeacher(); selectAll(); updateTeacher(); insertTeacher(); createAndStoreTeache
9、r(); select_All_By_Get(2); select_AllPerson_By_Get(); annotation(); HibernateUtil.getSessionFactory().close(); private static void insertTeacher() Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Teacher teacher = new Teacher(); teacher.setUsername
10、(aaa); teacher.setAge(25); session.save(teacher); session.getTransaction().commit(); System.out.println(insert teacher successfully); private static void deleteTeacher() int count; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query query = sess
11、ion.createQuery(delete Teacher where id=?); query.setParameter(0, 1); count = query.executeUpdate(); session.getTransaction().commit(); System.out.println(删除 + count + 条teacher记录); private static void selectTeacher_By_Load(int id) Session session = HibernateUtil.getSessionFactory().openSession(); Se
12、ssion session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Teacher teacher = (Teacher)session.load(Teacher.class, id); System.out.println(load方式commit之前=Id: + teacher.getId() + UserName: + teacher.getUsername() + Age: + teacher.getAge(); session.getTransaction
13、().commit(); System.out.println(load方式commit之后=Id: + teacher.getId() + UserName: + teacher.getUsername() + Age: + teacher.getAge(); session.close(); private static void selectTeacher_By_Get(int id) Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); T
14、eacher teacher = (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(
15、) + Age: + teacher.getAge(); private static void selectAll_By_Request() Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query query = session.createQuery(from Teacher where id=? and age=:tage); query.setParameter(0, 2); query.setInteger(0, 2); que
16、ry.setParameter(tage, 27); query.setInteger(tage, 27); List listteacher = (List)query.list(); printList(listteacher); private static void selectAll() Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query query = session.createQuery(from Teacher);
17、List listteacher = (List)query.list(); printList(listteacher); private static void updateTeacher() int count; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query query= session.createQuery(update Teacher set t_username=123 where id=?); query.set
18、Integer(0, 2); count = query.executeUpdate(); session.getTransaction().commit(); System.out.println(更新 + count +条记录); private static void printList(List listteacher) for(Teacher teacher : listteacher) System.out.println(Id: + teacher.getId() + UserName: + teacher.getUsername() + Age: + teacher.getAge();
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2