Java Web学习笔记 Hibernate配置及数据库增删改查简单操作
来源:互联网 发布:二手房中介软件 编辑:程序博客网 时间:2024/05/08 03:54
Object.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 package="cn.gzu.edu.hibernateExp.domain"><class name="Student" table="student"><id name="id" column="id" type="int"><generator class="native"></generator></id><property name="name" column="name" type="string" not-null="true"></property><property name="age" column="age" type="int" not-null="true"></property><property name="gender" column="gender" type="string" not-null="true"></property><property name="birthday" column="birthday" type="date" not-null="true"></property><many-to-one name="school" column="school_id"></many-to-one></class></hibernate-mapping>hibernate.cfg.xml 配置文件<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///userinfo</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password"></property><property name="show_sql">true</property><mapping resource="cn/gzu/edu/hibernateExp/domain/Student.hbm.xml"/><mapping resource="cn/gzu/edu/hibernateExp/domain/School.hbm.xml"/></session-factory></hibernate-configuration>Hibernate工具类,用于建立和初始化sessionFactory
import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public final class HibernateUtil {private static SessionFactory sessionFactory;private HibernateUtil(){}static{Configuration cfg=new Configuration();cfg.configure(); sessionFactory=cfg.buildSessionFactory();}public static SessionFactory getSessionFactory() {return sessionFactory;}public static Session getSession() {return sessionFactory.openSession();}}hibernate 实现类,主要的增删改查操作
/*********************添加数据********************************************/@Overridepublic void saveStudent(Student student) {Session s=null;Transaction ts=null;try {s = HibernateUtil.getSession();ts=s.beginTransaction();s.save(student);ts.commit();} finally{if(s!=null){s.close();}}}/*****************************************************************//********************删除数据*********************************************/@Overridepublic void deleteStudent(Student student) {Session s=null;Transaction ts=null;try {s = HibernateUtil.getSession();ts=s.beginTransaction();s.delete(student);ts.commit();} finally{if(s!=null){s.close();}}}/*****************************************************************//*********************修改数据********************************************/@Overridepublic void updateStudent(Student student) {Session s=null;Transaction ts=null;try {s = HibernateUtil.getSession();ts=s.beginTransaction();s.save(student);ts.commit();} finally{if(s!=null){s.close();}}}/*****************************************************************//***********************查询数据(id)******************************************/public Student findStudentById(int id) {Session s=null;try {s=HibernateUtil.getSession();Student student=(Student) s.get(Student.class, id);return student;}finally{if(s!=null){s.close();}}}/***********************查询数据(条件)******************************************/public Student findStudentByName(String name) {Session s=null;try {s = HibernateUtil.getSession();Criteria criteria = s.createCriteria(Student.class);criteria.add(Restrictions.eq("name", name));Student student = (Student) criteria.uniqueResult();return student;} finally{if(s!=null){s.close();}}}/*********其他操作(多对一集合)****************************/public void getStudentSet(int id){Session s=null;Transaction ts=null;try {s = HibernateUtil.getSession();ts=s.beginTransaction();School school=(School) s.get(School.class, id);System.out.println("学校:"+school.getSchname());Set<Student> stus=school.getStudent();for(Iterator it=stus.iterator();it.hasNext();){Student stu=(Student) it.next();System.out.println("学生姓名:"+stu.getName());}ts.commit();} catch(Exception e){e.printStackTrace();ts.rollback();}finally{if(s!=null){s.close();}}}
0 0
- Java Web学习笔记 Hibernate配置及数据库增删改查简单操作
- Hibernate学习-------数据库增删改查操作(部分)
- 自学java之hibernate操作数据库的增删查改
- 数据库---简单的使用Java操作数据库增删改查
- java通过JDBC连接数据库及增删改查操作
- 数据库的简单操作----增删改查
- Java-Hibernate简单增删改查
- MongoDB学习03之JAVA简单操作增删改查
- MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
- MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
- JAVA数据库基本操作,增删改查
- Java对数据库增删改查操作
- MySql学习笔记-增删改查操作
- Hibernate简单增删改查
- Hibernate简单增删改查
- hibernate 增删改查操作
- Hibernate 增删改查操作
- Hibernate增删改查操作
- What is a compile time constant?Java编译期常量表达式
- Delaunay三角剖分
- STL相关
- Mat - 基本图像容器
- undefined reference to `minor' undefined reference to `major'的解决方案
- Java Web学习笔记 Hibernate配置及数据库增删改查简单操作
- ttyS0不能用 minicom无法输入 解决办法
- 将Eclipse项目自动部署到Tomcat的webapps目录下
- Monitor进程Linux
- 海狸鼠养殖介绍
- 近期总结
- EntityFramework 6.0 问题汇总
- nano
- java基础_10_泛型