- 浏览: 188315 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. Hibernate4的CRUD
1) HibernateUtil封装
2) XML版CRUD实现
3) 注解版CRUD实现
4) Junit4单元测试框架引入
新建项目Hibernate02
1) HibernateUtil封装
HibernateUtil.java package com.andrew.util; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { // 1. 实例化配置文件 Configuration configuration = new Configuration().configure(); // 2. 实例化服务登记 ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .applySettings(configuration.getProperties()).build(); // 3. 获取Session工厂 return configuration.buildSessionFactory(serviceRegistry); } public static SessionFactory getSessionFactory() { return sessionFactory; } }
2) XML版CRUD实现
Student.java package com.andrew.model; public class Student { private long id; private String name; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + "]"; } } Student.hbm.xml <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.andrew.model"> <class name="Student" table="t_student"> <id column="stuId" name="id"> <generator class="native"/> </id> <property generated="never" lazy="false" name="name"/> </class> </hibernate-mapping> hibernate.cfg.xml <?xml version='1.0' encoding='utf-8'?> <!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="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate4</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- 方言 --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 控制台显示SQL --> <property name="show_sql">true</property> <!-- 自动更新表结构 --> <property name="hbm2ddl.auto">update</property> <!-- Mapper --> <mapping resource="com/andrew/model/Student.hbm.xml"/> </session-factory> </hibernate-configuration> StudentTest.java package com.andrew.service; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import com.andrew.model.Student; import com.andrew.util.HibernateUtil; public class StudentTest { private SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); private void add() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Student s = new Student(); s.setName("学生一"); session.save(s); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } private void delete() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Student student = (Student)session.get(Student.class, Long.valueOf(2)); session.delete(student); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } private void update() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Student student = (Student)session.get(Student.class, Long.valueOf(1)); student.setName("学生二"); session.save(student); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } private void getAllStudent() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 String hql = "from Student"; Query query = session.createQuery(hql); List<Student> studentList = query.list(); for (Student student : studentList) { System.out.println(student); } session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } public static void main(String[] args) { StudentTest studentTest = new StudentTest(); // studentTest.add(); // studentTest.delete(); // studentTest.update(); studentTest.getAllStudent(); } }
3) 注解版CRUD实现
Teacher.java package com.andrew.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; @Entity @Table(name="t_teacher") public class Teacher { private long id; private String name; @Id @GeneratedValue(generator="_native") @GenericGenerator(name="_native", strategy="native") public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Teacher [id=" + id + ", name=" + name + "]"; } } hibernate.cfg.xml <?xml version='1.0' encoding='utf-8'?> <!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="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate4</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- 方言 --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 控制台显示SQL --> <property name="show_sql">true</property> <!-- 自动更新表结构 --> <property name="hbm2ddl.auto">update</property> <!-- Mapper --> <mapping class="com.andrew.model.Teacher"/> </session-factory> </hibernate-configuration> TeacherTest.java package com.andrew.service; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import com.andrew.model.Teacher; import com.andrew.util.HibernateUtil; public class TeacherTest { private SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); private void add() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Teacher s = new Teacher(); s.setName("老师一"); session.save(s); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } private void delete() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Teacher teacher = (Teacher)session.get(Teacher.class, Long.valueOf(1)); session.delete(teacher); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } private void update() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Teacher teacher = (Teacher)session.get(Teacher.class, Long.valueOf(2)); teacher.setName("老师三"); session.save(teacher); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } private void getAllteacher() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 String hql = "from Teacher"; Query query = session.createQuery(hql); List<Teacher> teacherList = query.list(); for (Teacher teacher : teacherList) { System.out.println(teacher); } session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } public static void main(String[] args) { TeacherTest teacherTest = new TeacherTest(); // teacherTest.add(); // teacherTest.delete(); // teacherTest.update(); teacherTest.getAllteacher(); } }
4) Junit4单元测试框架引入
junit jar包 junit4.4.jar TeacherJunitTest.java package com.andrew.junit; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.junit.Test; import com.andrew.model.Teacher; import com.andrew.util.HibernateUtil; public class TeacherJunitTest { private SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); @Test public void testAdd() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Teacher s = new Teacher(); s.setName("张三"); session.save(s); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } @Test public void testDelete() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Teacher Teacher = (Teacher) session.get(Teacher.class, Long.valueOf(2)); session.delete(Teacher); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } @Test public void testUpdate() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 Teacher Teacher = (Teacher) session.get(Teacher.class, Long.valueOf(3)); Teacher.setName("张三2"); session.save(Teacher); session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } @Test public void testGetAllTeacher() { Session session = sessionFactory.openSession(); // 1. 生成一个session session.beginTransaction(); // 2. 开启事务 String hql = "from Teacher"; Query query = session.createQuery(hql); List<Teacher> TeacherList = query.list(); for (Teacher Teacher : TeacherList) { System.out.println(Teacher); } session.getTransaction().commit(); // 3. 提交事务 session.close(); // 4. 关闭session } }
发表评论
-
Hibernate高级配置
2019-01-16 08:52 3501. 配置数据库连接池 反问数据库,需要不断的创建和释放 ... -
Hibernate查询方式
2019-01-16 08:52 3941) Hibernate查询方式简介 新建项目Hiber ... -
Hibernate检索策略
2019-01-15 14:16 3721. Hibernate检索策略 新建项目Hiberna ... -
Hibernate映射关系
2019-01-15 14:16 4351. Hibernate映射关系 新建项目Hiberna ... -
Hibernate映射继承
2019-01-15 14:16 4571. Hibernate映射继承 新建项目Hiberna ... -
Hibernate映射类型
2019-01-15 08:54 3811. 基本类型映射 Hibernat ... -
Hibernate操作对象
2019-01-15 08:54 3261. Hibernate中四种对象状态 临时状态(tra ... -
关联关系一对多映射
2019-01-14 09:01 3961. Junit4方法详解 setUpBeforeCla ... -
映射对象标识符(OID)
2019-01-14 09:01 4431. Hibernate用对象标识符(OID)来区分对象 ... -
Hibernate简介
2019-01-14 08:55 3591. Hibernate简介 Hibernate官网:htt ...
相关推荐
【Spring4-Struts2-Hibernate4 CRUD Demo_3】是一个综合性的开发示例,它展示了如何在Java Web应用程序中整合三大主流框架:Spring 4、Struts 2和Hibernate 4来实现CRUD(创建、读取、更新、删除)操作。这个Demo...
【Spring4-Struts2-Hibernate4 CRUD Demo (1)】是一个典型的Java Web开发示例,它演示了如何集成Spring4、Struts2和Hibernate4框架来实现CRUD(创建、读取、更新和删除)操作。这个项目是初学者学习企业级应用开发的...
【Spring4-Struts2-Hibernate4 CRUD Demo】是一个经典的Java Web开发示例,它结合了Spring Framework 4、Struts 2和Hibernate 4这三个流行的技术,用于实现CRUD(Create, Read, Update, Delete)操作。这个项目旨在...
【Spring4-Struts2-Hibernate4 CRUD Demo_5】是一个综合性的开发示例,它展示了如何在Java Web应用程序中整合三大主流框架:Spring 4、Struts2和Hibernate4,进行基本的数据创建(Create)、读取(Read)、更新...
【Spring4-Struts2-Hibernate4 CRUD Demo_4】是一个综合性的开发示例,它展示了如何在Java Web应用中整合三大主流框架——Spring 4、Struts 2和Hibernate 4来实现CRUD(创建、读取、更新、删除)操作。这个Demo旨在...
这个"Spring4-Struts2-Hibernate4 CRUD Demo_1"是一个示例项目,它演示了如何整合这三个框架来实现基本的CRUD(创建、读取、更新、删除)操作。下面我们将深入探讨这些框架的核心功能和它们在项目中的作用。 **...
ssh_demo_2 这个文件很可能是包含了一个完整的示例项目,演示如何使用Spring4、Struts2和Hibernate4来实现一个CRUD应用。这个示例可能包含了配置文件(如struts.xml、spring-context.xml)、实体类、DAO(Data ...
这个"带Struts2和Hibernate的CRUD小Demo"是一个实用的学习资源,它演示了如何将这两个框架集成以实现数据的创建、读取、更新和删除(CRUD)操作。 首先,Struts2是一个开源的MVC(Model-View-Controller)框架,它...
在这个"Struts2+Hibernate实现CRUD操作网页"项目中,我们能看到开发者如何结合这两个框架来创建一个能够进行创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)操作的Web应用程序。以下是这个项目中的关键...
4. **CRUD操作**: - **Create(创建)**:通过Hibernate的save()或saveOrUpdate()方法将对象持久化到数据库。 - **Read(读取)**:利用Session的get()、load()或query()方法获取数据。 - **Update(更新)**:...
**Hibernate CRUD操作** CRUD是创建(Create)、读取(Read)、更新(Update)和删除(Delete)的首字母缩写,是数据库管理的基本操作。在Hibernate中,我们可以便捷地进行这些操作。 1. **创建(Create)** - 在...
Struts2、Hibernate和CRUD(Create, Read, Update, Delete)是Java Web开发中的核心框架和技术,而ExtJS则是一种流行的JavaScript库,用于构建富客户端应用。这个"Struts2+Hibernate+Crud+For_Extjs用户管理程序"是...
**Hibernate基本增删改CRUD操作** 在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者无需直接编写SQL语句,就能实现对象与关系数据库之间的映射。本教程将深入讲解如何使用...
本项目"Hibernate-CRUD"显然是一个关于使用Hibernate进行基本数据操作(创建、读取、更新、删除,即CRUD)的学习资源。以下是关于Hibernate CRUD操作的详细知识点: 1. **Hibernate简介**: Hibernate是Java社区中...
4. **CRUD操作**: - **创建(Create)**:在Action类中,用户提交表单后,Action接收数据,调用Service层的方法,Service再调用DAO层的方法,将数据保存到数据库。DAO通常会使用Session的save()或saveOrUpdate()方法...
**Hibernate CRUD 自用基础模板详解** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它简化了 Java 应用程序与数据库之间的交互。在Java开发中,CRUD(Create, Read, Update, Delete)是数据库操作的基础,...
在本示例中,我们探讨的是一个基于Spring 3.2和Hibernate 4的完整CRUD(创建、读取、更新、删除)操作演示。这个压缩包文件包含了实现这一功能所需的全部资源,让我们深入理解如何将这两个强大的Java框架集成到实际...
这篇博客"JPA + Hibernate 3 CRUD操作历史审计日志的解决方案"将深入探讨如何实现这一需求。 首先,我们需要理解JPA和Hibernate的基础概念。JPA定义了一组用于持久化Java对象的API,它允许开发者通过面向对象的方式...