面向对象课程设计--- 工资管理系统(5)

2019-02-20 20:18

}elseif(e.getActionCommand()==\){ }

if(e.getActionCommand()==\确认\){ success.dispose(); }

y_n.dispose();

System.out.println(\删除失败!\);

success = new Dialog(this.success,\删除失败\ ,true);

Panel p2 = new Panel();

p2.add(new Label(\删除失败!\)); confirm = new Button(\确认\);

confirm.addActionListener(this); p2.add(confirm); success.add(p2); success.pack();

success.setVisible(true);

图12

21 / 66

3 Hibernate重要配置

根据本课题内容要求可知,该课题对数据库表格的要求并不复杂,仅用一张表即可,并且能使数据的冗余度非常小,所以就一个数据库,一张表即可满足本课程设计的要求。

(1)建立数据库。在mysql命令行执行语句create database coursedesign;后,建数据库的工作将就完成了。

(2)引入相关jar包,将下载好的hibernate、Junit、日志文件和mysql驱动类import到该课题的工程中,具体引入的jar包如下:

(3)建立实体类。新建一个叫User的java类。加上hibernate的实体类的注解,并写好员工的属性。代码如下: @Entity

publicclass User {

22 / 66

}

privateintid;

private String name; privateintbasicWage; privateintpostWage; privateintbonus;

写好各个属性的get和set方法,特殊一点是在主键id的get方法前加上注解@Id和

@GeneratedValue,前者表示该属性是主键,后者表示该属性的数值自增类型,具体如下:

@Id

@GeneratedValue publicintgetId() { }

此外,添加一个get方法,并注解为@Transient,表示不存入数据库的,改方法的功能是用来获取工资总额,具体如下:

@Transient //不存入数据库,只是为了方便查询 publicint getAllWage() { }

还有,必须重写实体类的toString方法如下:

public String toString(){

returnthis.getBasicWage()+this.getPostWage()+this.getBonus(); returnid;

return\+getId()+\姓名:\+getName()+\基础工资:\+getBasicWage()

+\职务工资:\+getPostWage()+\奖金:\+bonus+\工资总额: \+getAllWage()+\;

}

(4)配置好hibernate的配置文件。去自己下载的

hibernate-distribution-3.3.2.GA\\documentation\\manual\\zh-CN\\html_single中参考,把配置文件copy过来,按自己的需要配置上。直观起见,直接在配置文件中注释了,每个语句都有注释,即这里打算的写的解释。代码如下:

name=\>com.mysql.jdbc.Driver

name=\>jdbc:mysql://localhost/coursedesign

23 / 66

root

root

name=\>org.hibernate.dialect.MySQLDialect

1

thread

name=\>org.hibernate.cache.NoCacheProvider

true

true

update

(5)配置日志文件,将日志文件按log4j.properties也配置好。其作用是显示hibernate执行过程中的详细情况,非常有必要步骤,对于查错,测试修改非常重要的。直接

24 / 66

去hibernate附带的例子里copy就行。并将里面如下行的注释解开: log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c:%L-%m%n

log4j.rootLogger=warn, stdout

log4j.logger.org.hibernate.tool.hbm2ddl=debug

4 后台功能实现

四大功能的实现。增、删、改、查功能的实现中大部分是通过hibernate访问数据库,进

而对数据库的操纵,但是某些操纵通过hibernate会得不偿失,会占用大量内存,更有甚者,hibernate不能直接实现,这种情况下是通过jdbc连接访问数据库,并操纵的。

为了便于测试,这些方法都是先新建一个测试类MyTest,用Junit4.7测试通过了,再将方法改成相应的传引用的方法封装在一个叫HibernateOperate的java类,各种功能的实现均封装在这个类中,在附录里两个类都有完整的代码,下面将逐一介绍MyTest类中的方法。

4.1 新建测试类

由于是在测试类中,所以每一个方法中都有重复的语句获得session,所以先定义一个beforeclass 方法并注解为@BeforeClass,同时定义一个@AfterClass方法,并注解为@afterClass。在main方法中调用beforeclass就可以了。以后每次执行注解为@Test的方法时都会先调用beforeclass方法,结束时都会调用afterclass方法。代码如下:

@BeforeClass

publicstaticvoid beforeclass(){ }

@AfterClass

publicstaticvoid afterclass(){ }

sf.close(); sf = new

System.out.println(sf);

AnnotationConfiguration().configure().buildSessionFactory();

4.2 存储方法

25 / 66


面向对象课程设计--- 工资管理系统(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑安装工程施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: