hibernate初级入门,实现增删改查 1. 添加数据库表user CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT , username varchar(50) DEFAULT NULL , age int(11) DEFAULT NULL , PRIMARY KEY (id) ); 2.创建pojo类User.java package com.bobo.domain; import java.io.Serializable; //domain对象/JavaBean/pojo (plain old/ordinary java object)简单java对象 //hibernate需要序列化对象 这样可以唯一的对应数据库的一条记录 public class User implements Serializable{ private static final long serialVersionUID = 1L; private Integer id; private String userName; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } } 3.配置user表和对象User的关系映射配置,配置文件:User.hbm.xml <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="com.bobo.domain.User"> <id name="id" column="id" type="java.lang.Integer"> <!--主键生成策略--> <generator class="increment"></generator> </id> <property name="userName" column="username" type="java.lang.String"/> <property name="age" column="age" type="java.lang.Integer"/> </class> </hibernate-mapping> 4.配置hibernate的核心文件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="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="show_sql">true</property> <!--加载类与数据库表映射配置--> <mapping resource="com/bobo/domain/User.hbm.xml"/> </session-factory> </hibernate-configuration> 5.初始化配置文件的工具类 package com.bobo.util; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; /** * 初始化配置工具类,获取MySessionFactory对象,确保只有一个,因为它很好资源 * */ final public class MySessionFactory { private static SessionFactory sessionFactory = null; private MySessionFactory(){ } static{ sessionFactory = new Configuration().configure().buildSessionFactory(); } public static SessionFactory getSessionFactory(){ return sessionFactory; } } 6.写测试类TestMain.java package com.bobo.view; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.*; import com.bobo.domain.User; import com.bobo.util.MySessionFactory; public class TestMain { public static void main(String[] args) { //添加用户 //addUser(); //更新用户 updateUser(); } //删除用户 public static void deleteUser() { Session session = MySessionFactory.getSessionFactory().openSession(); Transaction tx = session.beginTransaction(); User user = (User)session.load(User.class, 3); session.delete(user); //删除操作 delete from User where id=? tx.commit(); session.close(); } //更新用户 public static void updateUser() { SessionFactory sessionFactory = MySessionFactory.getSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = null; try{ tx = session.beginTransaction(); User user = (User) session.load(User.class, 3);//执行select 操作select user0_.id as id1_0_0_, user0_.username as username2_0_0_, user0_.age as age3_0_0_ from User user0_ where user0_.id=? user.setAge(19);//执行了update操作 update User set username=?, age=? where id=? tx.commit(); }catch(Exception e){ if(tx != null) tx.rollback(); throw new RuntimeException(e.getMessage()); }finally{ if(session != null && session.isOpen()) session.close(); } } //添加用户 public static void addUser() { //1.初始化hibernate配置 Configuration cfg = new Configuration().configure(); //2.创建一个SessionFactory SessionFactory sessionFactory = cfg.buildSessionFactory(); //3.获取一个session对象 Session session = sessionFactory.openSession(); //4.开启事务 Transaction tx = session.beginTransaction(); //5.插入操作 User user = new User(); user.setUserName("bobo"); user.setAge(20); session.save(user); //6.提交事务 tx.commit(); //7.关闭资源 session.close(); } }
相关推荐
对 Hibernate 初体验 1.新建一个java工程,工程名为Hiberante1 2.导入相应的jar包 1)hibernate需要导入这些包 2)因为我们需要操作数据库所以要导入数据库的包,我用的mysql数据库 3.创建数据库以及表 ...
**标题:“Hibernate Service Register机制初体验”** 在Java开发领域,Hibernate是一个广泛应用的持久化框架,它极大地简化了数据库操作。Hibernate的核心在于其强大的对象关系映射(ORM)能力,而Service ...
1. **Hibernate初体验**: Hibernate的基本使用通常从配置开始,包括设置hibernate.cfg.xml文件来指定数据库连接信息,以及实体类的映射文件(hbm.xml)定义对象与表的对应关系。在初步接触中,你将学习如何创建...
在本文中,我们将探讨如何整合Spring、Hibernate和Acegi框架,构建一个安全的J2EE应用程序。Acegi是Spring Security的前身,它提供了一套强大的访问控制和认证机制,适用于复杂的权限管理需求。 首先,我们要了解...
总结来说,《Hibernate 3.6.9 官方汉化版教程》是一份详尽的指南,无论你是初涉ORM的新手,还是寻求提升的资深开发者,都能从中获益良多。通过学习,你将能更好地理解和应用Hibernate,提高你的Java开发技能。
"Hibernate Eclipse开发必备包"就是专门为Eclipse用户准备的一系列工具和库,旨在优化Hibernate在Eclipse中的开发体验。 这个压缩包可能包含以下关键组件: 1. **Hibernate Tools**:这是Eclipse的一个插件,提供...
【标题】"一个简单的hibernate helloworld"指的是在Java编程环境中使用Hibernate框架进行的初次实践,这个项目是为了帮助开发者快速理解并上手Hibernate。Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发...
总的来说,Hibernate 3.6.1官方文档是一份全面、详实的参考资料,无论你是初次接触Hibernate的新手,还是希望进一步提升技术水平的开发者,都能从中受益匪浅。通过深入学习和实践,你将能够熟练地驾驭Hibernate,...
一、引言与初次应用体验 在《hibernate-reference-3.1.1.pdf》文档中,开篇便引导读者进入Hibernate的世界,从一个简单的应用示例入手,逐步深入地介绍了Hibernate的核心概念和技术细节。首先,文档通过“第一个...
这个系统采用了经典的Java技术栈,包括Struts1.2、Hibernate3.0、Spring2和DWR,这些都是在21世纪初非常流行的技术组合。 1. **Struts1.2**:Struts是Apache软件基金会下的一个MVC框架,主要用于构建企业级Java Web...
本文将深入探讨如何在使用Hibernate和Struts框架时实现分页功能,以便在大型应用中有效地管理数据展示,提升用户体验。 首先,让我们了解一下Hibernate。Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用...
【hibernate分页】是Java Web开发中一个常见的需求,特别是在处理大量数据时,为了提高用户体验和系统性能,通常需要实现数据的分页显示。Hibernate作为一款强大的ORM(对象关系映射)框架,提供了方便的数据分页...
- **数据填充**:除了创建表,脚本可能还用于导入初始数据,如预设的一些书籍信息,以便用户在初次使用时就有数据可查。 总结起来,这个读书管理系统利用Java Swing创建GUI界面,提供直观的用户交互,同时通过...
当开发者初次接触Hibernate时,他们通常会寻找方法来监控Hibernate自动生成的SQL语句。在Hibernate提供的基本SQL监控功能之外,更专业的需求可以通过安装额外的监控工具来实现,例如IronTrack SQL。该工具不仅可以...
这些技术在2000年代末至2010年代初是非常流行的,它们共同构成了一个强大的后端和前端应用框架,用于构建企业级的Web应用程序。下面将分别介绍这四个组件及其在实际项目中的作用。 1. EXT JS 2.1:EXT JS是一个基于...
这个组合在2010年代初非常流行,用于构建高效且可维护的企业级应用。 Struts2是Struts1的升级版,提供了更灵活的MVC架构,支持更多拦截器和模板技术。Struts2.1.8版本引入了增强的Action配置,支持OGNL表达式语言,...
在"头歌springboot初体验"中,我们可以探讨以下几个关键知识点: 1. **起步依赖(Starter Dependencies)**:Spring Boot通过起步依赖管理项目中的依赖。例如,如果你想使用Spring MVC进行Web开发,只需添加`spring...
这篇博文主要介绍了博主在初次接触Roller时的体验,包括安装、配置和使用过程中的关键步骤。博主通过个人实践,详细讲述了如何将Roller部署到Tomcat服务器上,并分享了在源码层面的一些探索,这对于想要深入了解...