一个简单的hibernate+mysql的实例java/jsp开发
- |
- 浏览:2283
- |
- 更新:2013-11-07 14:39
- |
- 标签:java
这是一个很简单的hibernate实例,不用关注数据库设计方面,适合初学者。仅仅是入门hibernate的使用,本人弄了一天才搞清楚整个过程,所以为了使初学者不要花太多时间,就能理清hibernate的使用就写了这篇实践文章。
方法/步骤
-
步骤一:安装jdk、myeclipse6.5(这里不介绍了)
-
步骤二:新建一个web项目,图下图一
-
步骤三:在mysql数据库中新建数据库名stms和表person,并增加几行数据到表中如图二
注意:这里的id数据类型是varchar(45),为了不让大家受到int类型的限制。特意用的varchar(45)为主键,而且不是自增的
-
步骤四:打开数据库视图
依次选择 :窗口|显示视图|其他|选择DB Browser,弹出如下图三
说明:在这里可以可视化的查看和操作数据库和表
-
选择DB Browser点击ok,如下图四
注意:这里是我以前建的2个数据库连接,我们不使用(右击空白处可以新建)
-
说明:新建数据库连接的时候,会用到mysql的驱动包,所有先加入mysql的驱动包,再新建连接,加载mysql驱动包到web-inf/lib目录下,如下图五
-
步骤五:新建数据库连接
在DB Browser空白处右击,点击新建,弹出如下对话框,如图六
说明:
Driver name表示连接名(可以随便命名)
Driver JARs下面增加了mysql驱动包,只有增加驱动包,下面的Driver classname才有选项。
其他,你懂的,就不说了。
-
点击:下一步,增加我们要使用的数据库,如图七
-
点击:完成。建好后,如下图八
-
步骤六:右击新建好的mysqlhibernate连接,点击打开连接,如图九
(这里是用来自动生成永久性类的java文件的,后面会在这里操作)
-
步骤七:在项目中配置hibernate
点击菜单栏的Myeclipse | Project capabilities | add Hibernate Capabilities,弹出如下对话框,如图十
-
按上图选择,点击:下一步,弹出下图十一
-
上面选择我们开始新建的数据库连接,如上图填写,点击:下一步,弹出如下对话框,如下图十二
-
如上图所选,点击:完成。
说明:如果弹出如下对话框,如图十三
就选择Keep Existing吧,没有弹出就不用管。
-
这样就已经自动生成了hibernate的配置文件,在src目录下可以找到,如下图十四
-
步骤八:现在使用hibernate自动生成永久类的java文件
在src目录下新建bean包(用来存自动生成的永久类java文件),如下图十五
-
在DB Browser下,右键我们新建的person表,选择Hibernate Reverse Engineering,弹出如下对话框,如图十六
-
选择:下一步,弹出如下对话框,如图十七
-
选择:下一步,如下图十八
-
点击:完成,
现在在bean包下面是不是有2个文件了,一个Person.ava文件,一个Person.hbm.xml配置文件
同时,看看hibernate.cfg.xml文件中是不是有Person.hbm.xml的映射;如下图十九
这样就配置要了hibernate到数据库的链接,我们就可以通过操作Person.hbm.xml这个文件中的表Person(注意大写字母),来操作数据库的person表(这里小写字母)了
-
步骤九:现在我们测试使用hibernate操作数据库
我们这测试hibernate能不能使用,具体用来做开发就不讲了
新建一个op包,在op包下新建test.java类文件(我们只建一个测试类,)如图二十
-
test.java代码如下 //测试的是读取数据库中的记录(所以数据库中必须有数据,自己增加数据哦)
package op;
import util.*;
import java.util.Iterator;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import bean.Person;
public class test {
Session session = null;
Transaction tx = null;
public static void main(String[] args) {
try {
SessionFactory sf=new Configuration().configure().buildSessionFactory();
Session session=sf.openSession();
List catlist = null;
catlist = session.createQuery("from Person").list();
Transaction tx=session.beginTransaction();
if (catlist != null) {
Iterator it = catlist.iterator();
while (it.hasNext()) {
Person person = (Person) it.next();
System.out.println("姓名:" + person.getName() + " 性别:"
+ person.getSex()+"\n");
}
}
tx.commit();
session.clear();
} catch (HibernateException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
-
打开test.java,运行方式:java应用程序运行,你就可以读取到person中记录了(person表中必须有数据啊)
-
总结:这样我们就通过使用hibernate读取了数据库中所有person记录
要对数据库进行增加,删除,修改,就只要修改查询语句就ok了