边做边学小型封装--利用主流框架进行Dao层通用化,Spring3.0+Hibernate3.3.2通用Dao层整合(五)

当所有工作准备完成后接下来就是测试了,测试的话就非常简单了,在Eclipse中加入Junit测试包,或者可以到Junit的官方网站下载Junit4.8.1.Jar包放入lib文件夹中,创建一个JunitTestCase或者创建一个类,输入以下代码:

package org.lxh.test;



import static org.junit.Assert.*;



import java.util.List;



import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.lxh.bean.User;

import org.lxh.service.interfaces.UserServiceIf;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;





public class UserxTest {

	

	

	private static UserServiceIf userService;



	@Before

	public  void setUpBeforeClass() throws Exception {

		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");

		userService =(UserServiceIf)applicationContext.getBean("userService");

	//	userService =(UserServiceIf)applicationContext.getBean("userService");

	}



	

	@After

	public  void tearDownAfterClass() throws Exception {

	}



	@Test

	public void testClearAllUser() {

		try {

		//	userService.clearAllUser(userService.listUserById(User user,1));

		} catch (Exception e) {

			e.printStackTrace();

			fail("Not yet implemented");

		}

		

	}



	@Test

	public void testClearUserById() {

		try {

			userService.clearUserById(1);

		} catch (Exception e) {

			e.printStackTrace();

			fail("Not yet implemented");

		}

		

	}



	@Test

	public void testListAllUser() {

		try {

			List<User> list =userService.listAllUser();

			for (User user : list) {

				System.out.println(user.getUsername()+":"+user.getPassword());

			}

		} catch (Exception e) {

			e.printStackTrace();

			fail("Not yet implemented");

		}

	}



	@Test

	public void testListUserById() {

		try {

			User user =userService.listUserById(2);

			System.out.println(user.getUsername()+":"+user.getPassword());

		} catch (Exception e) {

			e.printStackTrace();

			fail("Not yet implemented");

		}

	}



	@Test

	public void testModifyUser() {

		try {

//		User user =	userService.listUserById(1);

//		user.setUsername("fuck");

//			userService.modifyUser(user);

		} catch (Exception e) {

			e.printStackTrace();

			fail("Not yet implemented");

		}

		

	}



	@Test

	public void testNewUser() {

		try {

			User user = new User();

			user.setUsername("edward");

                        user.setPassword("lxh");

			userService.newUser(user);

		} catch (Exception e) {

			e.printStackTrace();

			fail("Not yet implemented");

		}

		

	}



}

输入上述代码就可以完整整个通用测试了.

总结一下:因为这个封装只是单单针对的比较简单的增删查改的功能,只是把我们每个经常使用的CRUD功能完全集成一个Dao里面,不用我们对每个表进行独立的Dao创建,只是在Service层中详细把每个表分开进行操作,维护性比较高,只是单独维护Dao就可以了,需要增加功能或者删除功能完全统一完成可以直接应用到各各Service中,如果利用工厂模式的话维护性更加方便.

你可能感兴趣的:(hibernate3)