SSH整合测试
上一节配置好SSH框架后,那么怎么测试自己配置的SSH框架是否能用呢?
创建一个Junit测试类(不要忘了导入Junit的jar包)
第一步测试数据源
声明变量
private ApplicationContext ct = null;
然后:在测试方法中写入:
ct = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println(ct);
DataSource dataSource = ct.getBean(DataSource.class);
System.out.println(dataSource);
控制台打印两行信息就表示测试通过了如下:
第二步测试SessionFactory(操作数据库)
大家都知道Hibernate关联数据库有两种(1.映射文件,2.注解)
下面讲解使用第一种方式:映射文件
我们需要创建实体类
设计用户类:
package com.edu.hpu.laboratory.model;
import java.io.Serializable;
//后台管理者类
public class ManagerUser implements Serializable{
private String userName;//用户名
private String password;//密码
public ManagerUser() {
super();
}
public ManagerUser(String userName, String password) {
super();
this.userName = userName;
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "ManagerUser [userName=" + userName + ", password=" + password
+ "]";
}
}
利用Hibernate tools工具生成ManagerUser模型类对应 的映射文件(不懂的请看我之前的博客Hibernate入门系列)
把映射文件放到指定的包下
在applicationContext.xml配置文件中修改要加载映射文件路径
<!-- 配置Hibernate中的映射文件,如果使用注解方式这段代码省略 -->
<property name="mappingDirectoryLocations">
<list>
<value>classpath:com/edu/hpu/laboratory/model/hbm/</value>
</list>
</property>
在上一节整合ssh框架时提过, 这段代码是使用映射文件方式时才需要设置,如果使用注解方式就不需要配置这段代码
//第三步(前两步测试通过后)测试操作数据库表
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
//数据库的操作
ManagerUser managerUser = new ManagerUser();
managerUser.setPassword("123456");
managerUser.setUserName("user");
session.save(managerUser);
tx.commit();
session.close();
执行如下图保存成功
数据库
关于第二种方式使用注解方式我还不太懂所以就不误人子弟了。想学习的自行百度
等以后有时间了我再好好学习。(建议初学者先不用着急学,先把一种方式弄明白,再往深里学也不迟)
下面讲解使用注解方式关联实体类和数据库表
第一步:去掉刚才在applicationContext.xml配置文件里面对映射文件的配置代码
去掉下面这段代码