java

位置:IT落伍者 >> java >> 浏览文章

如何在MyEclipse快速搭建Hibernate应用


发布日期:2024年06月30日
 
如何在MyEclipse快速搭建Hibernate应用

我们所要建的应用非常简单只是利用hibernate对一张表进行操作

软件环境

Eclipse

MyEclipse

MySql Server

MySql Java Connector J

hibernate Core Libraries

hibernate Advanced Libraries

参考书籍及文档

<<深入浅出Hibernate>>夏昕唐勇曹晓刚

MyEclipse Help Content

整个应用的创建依以下步骤完成

)新建一个名为hibernatetest的mysql schema

)创建一张名为User的表格其语句如下

CREATETABLE`hibernatetest``User`(

`id`INTEGERUNSIGNEDNOTNULLAUTO_INCREMENT

`name`VARCHAR()NOTNULL

`sex`CHARNOTNULL

`age`TINYINTUNSIGNEDNOTNULL

PRIMARYKEY(`id`)

)

ENGINE=InnoDB;

)打开MyEclipse的DB Browser视图在右击选项菜单(Context Menu)上选择New……弹出Database

Profile对话框用于新建一个Profile填入以下信息

<>Profile Name localhost_mysql_profile

<>Driver 打开Configure database driver链接配置jdbc驱动我们只需加入MySql

Connector J的JDBC驱动即可

<>URL jdbc mysql:///hibernatetest

<>User Name 用户名

<>Password 密码

创建完profile后尝试一下连接至数据库成功即可

)在Eclipse中新建一个名为HibernateSample的Java项目

<>创建一个名为config的目录用于放置hibernatecfgxml

<>创建一个名为mappings的目录用于放置映射文件

)在HibernateSample项目的右击选项菜单中选择MyEclipse>Add Hibernate Capabilities……这

样会弹出一个Hibernate Support for MyEclipse的对话框

<>第一步是选择要添加到工程的包我们把Hibernate的Core及Advanced包都勾上

<>第二步是否创建hibernatecfgxml我们把configuration folder设定为src\config

<>第三步是指定数据库连接细节(specify database connection details)我们只需名为

localhost_mysql_profile即可因为我们之前已经进行了设置

<>第四步问你是否创建SessionFactory这个SessionFactory其实是Hibernate提供的一个用于

管理Session的类它可以确保在每个独立的线程中Session是唯一的我们创建名为

testhibernatesamplefactoryHibernateSessionFactory的类

通过上述的四步现在的工程里面已经拥有了hibernate所需的包及配置文件

)在src目录下创建一个名为logjproperties的文件内容如下

###directlogmessagestostdout###

logjappenderstdout=orgapachelogjConsoleAppender

logjappenderstdoutTarget=Systemout

logjappenderstdoutlayout=orgapachelogjPatternLayout

logjappenderstdoutlayoutConversionPattern=%d{ABSOLUTE}

%p%c{}:%L%m%n

logjrootLogger=warnstdout

hibernate=error

因为hibernate是通过logj进行日志管理的所以加上这个会比较好不加会在运行时出错

)创建testhibernatesamplemodelUser类篇幅所限大致如下

packagetesthibernatesamplemodel;

publicclassUser{

privateIntegerid;

privateStringname;

privatecharsex;

privatebyteage;

//后面是一堆的settergetter用于set及get各个属性

}

)在工程的mappings(在第步创建的目录)目录下创建一个名为Userhbmxml内容如下

mappingdtd>

)在HibernateSample项目的右击选项菜单中选择New > JUnit Test Case……弹出新建JUnit

Test Case的对话框

<>package上输入testhibernatesampletest

<>type上输入UserTest

<>在which method stubs whould you like to create中勾上setUp()tearDown()

整个UserTest类的代码如下

packagetesthibernatesampletest;

importorghibernateHibernateException;

importorghibernateSession;

importorghibernateTransaction;

importtesthibernatesamplefactoryHibernateSessionFactory;

importtesthibernatesamplemodelUser;

importjunitframeworkAssert;

importjunitframeworkTestCase;

publicclassUserTestextendsTestCase{

//hibenate的session对象

privateSessionsession=null;

protectedvoidsetUp()throwsException{

supersetUp();

session=HibernateSessionFactorycurrentSession();

}

publicvoidtestUserInsert(){

Transactiontran=null;

try{

tran=sessionbeginTransaction();

Useruser=newUser();

usersetName(suhaoyuan);

usersetSex(M);

usersetAge(ByteparseByte());

sessionsave(user);

mit();

AssertassertEquals(getId()intValue()>true);

}

catch(HibernateExceptionex){

exprintStackTrace();

Assertfail(exgetMessage());

if(tran!=null){

try{

tranrollback();

}

catch(HibernateExceptiontranEx){

tranExprintStackTrace();

}

}

}

}

protectedvoidtearDown()throwsException{

supertearDown();

HibernateSessionFactorycloseSession();

}

}

)运行刚创建的UserTest测试用例即完成该应用

上一篇:模拟spring框架注入实现原理

下一篇:Eclipse快捷键和提高效率的好习惯