MySQL Administrator 创建表
MyEclipse Database Explorer视图:
1. New
2 .Driver template: MySQL Connector/J
Driver name: 给定一个连接名称
Connection URL: jdbc:mysql://<hostname>[<:3306>]/<dbname>相应的修改
User name: MySQL连接名
Password: MySQL连接密码
Driver JARs: 添加 mysql-connector-java-5.1.7-bin.jar包
Save password + Connect to database on MyEclipse startup
3. 选择Display the seleted schemas - 添加表名
4. Finish
1. 右击表名—Hibernate Reverse Engineering...
2. Next — Id Generator:native
3. Finish
添加Struts 1.3 capabilities 和 Hibernate 3.1 capabilities
新建Struts1.3 Action: CRUD(create、read、update、delete)
例子:
create:
//创建一个HibernateCrud实体类,以供数据的填充
//HibernateCrud实体类相当于一条数据库中的记录(相当于一个bean)
HibernateCrud HibernateCrud_ref = new HibernateCrud();
HibernateCrud_ref.setUsername("大小");
HibernateCrud_ref.setAge(22);
//从HibernateSessionFactory类中的ThreadLocal类中获得一个Session对象
//这个session对象就相当于JDBC中的Connection类
Session session = HibernateSessionFactory.getSession();
//启动事务保证数据的完整性
Transaction tra = session.beginTransaction();
//保存实体类以将这个实体类通过Hibernate映射机制转换成数据库中的一条记录
session.save(HibernateCrud_ref);
//提交事务
tra.commit();
//关闭session,释放数据库的链接资源
session.close();
read:
//获得Session对象从HibernateSessionFactory类中的ThreadLocal对象中
Session session = HibernateSessionFactory.getSession();
//启动事务
Transaction tra = session.beginTransaction();
//通过Session对象的引用session的load方法来从数据库中取得一个id为1的实体类HibernateCrud.class
HibernateCrud HibernateCrud_ref = (HibernateCrud) session.load(HibernateCrud.class, new Integer(1));
//显示这个实体类的信息
System.out.println("id=" + HibernateCrud_ref.getId());
System.out.println("username=" + HibernateCrud_ref.getUsername());
System.out.println("age=" + HibernateCrud_ref.getAge());
System.out.println("registerTime=" + HibernateCrud_ref.getRegisterTime());
//提交事务
tra.commit();
//关闭session,释放数据库的连接
session.close();
update:
//取得session对象
Session session = HibernateSessionFactory.getSession();
//启动事务
Transaction tra = session.beginTransaction();
//取得旧数据并且开始更新旧数据
HibernateCrud HibernateCrud_old_ref = (HibernateCrud) session.load(HibernateCrud.class, new Integer(1));
System.out.println("id=" + HibernateCrud_old_ref.getId());
System.out.println("username="+ HibernateCrud_old_ref.getUsername());
System.out.println("age=" + HibernateCrud_old_ref.getAge());
System.out.println("registerTime=" + HibernateCrud_old_ref.getRegisterTime());
//重新对实体类的属性进行更改,然后同步更新数据库中记录的字段
HibernateCrud_old_ref.setUsername("最新版");
HibernateCrud_old_ref.setAge(100);
//同步更新到数据库中
session.update(HibernateCrud_old_ref);
//提交事务
tra.commit();
//关闭session对象,释放数据库连接
session.close();
delete:
//取得Session对象
Session session = HibernateSessionFactory.getSession();
//启动事务
Transaction tra = session.beginTransaction();
//从数据库中通过load方法取得HibernateCrud的实体类,查询条件是主键为1
HibernateCrud HibernateCrud_old_ref = (HibernateCrud) session.load(HibernateCrud.class, new Integer(1));
System.out.println("id=" + HibernateCrud_old_ref.getId());
System.out.println("username" + HibernateCrud_old_ref.getUsername());
System.out.println("age=" + HibernateCrud_old_ref.getAge());
System.out.println("registerTime=" + HibernateCrud_old_ref.getRegisterTime());
//在Hibernate中删除数据库中的记录是通过一个实体类进行删除的
//所以在删除的操作中需要先找到实体类,然后再通过Session对象的delete()方法
//来删除数据库中的记录
session.delete(HibernateCrud_old_ref);
//提交事务
tra.commit();
//关闭session对象,释放数据库的连接
session.close();
部署、测试
- Hibernate逆向工程【PowerDesigner、idea环境下】
为什么要使用逆向工程 由于我们每次编写Hibernate的时候都需要写实体,写映射文件.而且Hibernate的映射文件也容易出错.而逆向工程可以帮我们自动生成实体和映射文件,这样就非常方便了. 使用 ...
- 富文本编辑器Ueditor 及 hibernate 逆向工程
1.1 富文本编辑器Ueditor ueditor下载地址: http://ueditor.baidu.com/ 下载1.4.3 –utf8-Jsp版本.完整demo可参考下载文件 ...
- (十四)hibernate逆向工程
一.hibernate逆向工程生成实体 介绍一个模型设计工具PowerDesigner,这个是j2ee开发必要的一个工具.一般在开发中先使用PowerDesigner 创建实体关系图即概念模型.建立了 ...
- eclipse下使用hibernate tools实现hibernate逆向工程
一 安装hibernate tools插件 1 在线安装 通过Eclipse的Help->Install New Software 在线安装插件,插件连接为: eclipse helios(3 ...
- IDEA 中生成 Hibernate 逆向工程实践
谈起 Hibernate 应该得知道 Gavin King 大叔,他构建了 Hibernate ,并将其捐献给了开源社区. Hibernate 对象关系映射解决方案,为面向对象的领域模型到传统的关系型 ...
- 【转】eclipse下使用hibernate tools实现hibernate逆向工程
一.基本环境 Eclipse 3.6 AppFuse Struts2 2.1.0 JBoss Hibernate Tools 3.4.0 二.JBoss Hibernate Tools 3.4.0安装 ...
- hibernate逆向工程生成的实体映射需要修改
根据实际情况进行修改,主要2处,注释的位置<!-- 把catalog="platform"删掉 -->,<!-- 替换为native --> <? ...
- Hibernate逆向工程全过程
前提你已经创建好了数据库,按如下操作进行: 1.添加hibernate.cfg.xml 在src下-->new-->other--->hibernate-->选择“Hibern ...
- Hibernate逆向工程生成代码
编辑此文章,其目的是方便以后根据表生成相应的代码,然而并非所有的代码都是如此.这里的Hibernate 即响应题目的ssh框架中的“h”. 如图所示,点击右上角,在myeclipse之中.再点击Mye ...
随机推荐
- [Unity菜鸟] Character控制移动
1. 给角色加角色控制器组件,然后用以下代码可以控制角色移动和跳跃 float speed = 6.0f; float jumpSpeed = 8.0f; float gravity = 20.0f; ...
- CMake学习(1)---简单程序与库
cmake是linux平台下重要的工具,可以方便的组织makefile.之前一直在windows平台下进行软件开发,在vs2010的IDE里,只要一点run程序就能跑出结果.但是程序的编译并没有那么简 ...
- ios 使用GCD 多线程 教程
什么是GCD Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法.该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中.GCD ...
- JVM学习笔记(四)------内存调优
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提 ...
- trim合理和谐
今天早上,到公司,噩耗传来.上周的上线的功能出现问题,后台mis中有数据不能保存了. 经过紧张的查找,还是我的问题.有一个查重操作,在查重前,会比对新旧值,新值顺手trim了.旧值直接保存了. 在比较 ...
- Linux系统下统计目录及其子目录文件个数
(1)查看某目录下文件的个数: ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l (2)查看某目录下文件的个数,包括子 ...
- Android测试框架-uiautomator
官方示例:https://github.com/googlesamples/android-testing 官方文档请 google 要求: Android SDK v23 Android Build ...
- WindowManager.LayoutParams.type属性
type 的取值: 应用程序窗口. public static final int FIRST_APPLICATION_WINDOW = 1; 所有程序窗口的“基地”窗口,其他应用程序窗口都 ...
- HDU 1255 覆盖的面积 (扫描线 线段树 离散化 矩形面积并)
题目链接 题意:中文题意. 分析:纯手敲,与上一道题目很相似,但是刚开始我以为只是把cnt>=0改成cnt>=2就行了,. 但是后来发现当当前加入的线段的范围之前 还有线段的时候就不行了, ...
- IOS cocos2d笔记1
结点添加.删除.获取1.结点:CCNode * childNode = [CCNode node]; 2.加入结点[myNode addChild:childNode z:0 tag:123];//z ...