`

测试XmlHandler,接上篇(自己实现的XML和Entity映射工具)

阅读更多

关于XmlHandler的单元测试代码:

package test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import org.dom4j.DocumentException;

import com.cugxw.entity.Book;
import com.cugxw.entity.Publish;
import com.cugxw.utils.XmlHandler;
public class Test {

	@SuppressWarnings("unchecked")
	public static void main(String[] args) throws Exception{
		
		/*Initialize the entity object*/
		Book b = new Book();
		b.setBookId("1001");
		b.setBookName("English 4");
		b.setIsbn("00000000001");
		Publish pubA = new Publish();
		pubA.setPubId("pub-000000000000001");
		pubA.setPubName("The dog of China");
		b.setPublish(pubA);
		
		Publish pubB = new Publish();
		pubB.setPubId("pub-1111111111111110");
		pubB.setPubName("The dog of America");
		
		Set<Publish> set = new HashSet<Publish>();
		set.add(pubA);
		set.add(pubB);
		b.setSet(set);
		
		List<Publish> list = new ArrayList<Publish>();
		list.add(pubA);
		list.add(pubB);
		b.setList(list);
		
		XmlHandler xmlHandler = null;
		xmlHandler = new XmlHandler("com.cugxw.entity");
//		xmlHandler = new XmlHandler();
		xmlHandler.setUseXmlAnnotation(true);
		xmlHandler.showRegMap();
		String resXml = null;
		
		/*Test parse the xml*/
		resXml = xmlHandler.toXml(b);
		System.out.println("---------------------Entity To Xml---------------------");
		System.out.println("Return xml: \n" + resXml + "\n");
		
		/*Test xml to entity*/
		try {
			Book book = (Book)xmlHandler.fromXml(Book.class, resXml);
			System.out.println("---------------------Xml To Entity---------------------");
			System.out.println("Return entity: ");
			System.out.println("Book-BookId: " + book.getBookId());
			System.out.println("Book-BookName: " + book.getBookName());
			System.out.println("Book-ISBN: " + book.getIsbn());
			Publish publish = book.getPublish();
			if(publish != null)
			{
				System.out.println("Book-Publish-pubId: " 
						+ publish.getPubId());
				System.out.println("Book-Publish-pubName: " 
						+ publish.getPubName());
			}
			Set aset = book.getSet();
			if(aset != null && aset.size() > 0)
			{
				Iterator it = aset.iterator();
				while(it.hasNext())
				{
					Publish pub = (Publish)it.next();
					System.out.println("Book-Set-Publish-pubId:"
							+ pub.getPubId());
					System.out.println("Book-Set-Publish-pubName: " 
							+ pub.getPubName());
				}
				
				List<Publish> alist = book.getList();
				for(Publish publ : alist)
				{
					System.out.println("Book-List-Publish-pubId:"
							+ publ.getPubId());
					System.out.println("Book-List-Publish-pubName: " 
							+ publ.getPubName());
				}
			}
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}

}

 

分享到:
评论

相关推荐

    mybatis自动生成Mapper.xml,entity,dao

    "mybatis自动生成Mapper.xml,entity,dao"是MyBatis的一个实用功能,可以帮助开发者自动根据数据库表结构生成对应的Java实体类(Entity)、XML映射文件(Mapper.xml)和数据访问对象(DAO)类,极大地提高了开发效率...

    XXE全称XML External Entity Injection漏洞.pdf

    XXE全称XML External Entity Injection漏洞,是一种在应用程序解析XML输入时由于未能禁止外部实体加载而引发的安全漏洞。该漏洞可以被利用来执行文件读取、命令执行、内网端口扫描等多种攻击。 XML(eXtensible ...

    c# XML 与实体相互转换 源代码

    在压缩包中的`xmlEntity`文件可能是实现这些转换的源代码,包括实体类定义和转换方法的具体实现。分析并理解这些代码可以帮助我们更深入地了解作者是如何处理XML和实体对象的转换的。 总的来说,XML与实体对象的...

    生成entity和mybatis映射文件

    在IT行业中,MyBatis是一...总的来说,"生成entity和mybatis映射文件"的资源对于基于MyBatis的Java项目来说是一大利器,它提升了开发效率,降低了出错概率,使得开发团队能够更专注于业务的实现,而非基础架构的搭建。

    xml与实体类转换工具

    本文将详细介绍如何使用工具类进行XML与实体类的转换,并探讨相关依赖和实现方法。 首先,XML转换为Java实体类的基本原理是通过解析XML文档,创建对应的Java对象。Java中常用的库有JAXB(Java Architecture for XML...

    Hibernate逆向生成entity和hbm.xml文件

    在开发过程中,为了减少手动编写实体类(Entity)和对应的hbm.xml配置文件的工作量,Hibernate提供了一个逆向工程工具,可以基于现有数据库结构自动生成这些代码。 实体类是Java对象,它们代表数据库中的表,而hbm....

    Mybatis数据库表自动生成entity,dao接口,mapper.xml驱动

    Mybatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,提供了灵活的映射机制,使得Java对象和数据库表之间的映射变得简单。在开发过程中,通常需要手动创建实体类(Entity)、DAO...

    利用hibernate自动生成hbm.xml文件和entity类.doc

    Hibernate 反向工程是指使用 Hibernate 工具将数据库表结构反向生成对应的 Entity 类和 hbm.xml 文件的过程。这种方法可以大大简化开发过程,提高开发效率。 二、 Hibernate 反向工程的步骤 1. 切换到 MyEclipse ...

    .NET2.0映射工具

    .NET 2.0 映射工具是用于简化数据库与应用程序之间数据交互的开发工具,它自动为数据库中的表创建对应的类,从而免去了开发者手动编写这些类的繁琐工作。这种映射技术通常被称为对象关系映射(ORM,Object-...

    根据mysql自动生成entity、mapper、xml

    而“根据mysql自动生成entity、mapper、xml”这个话题涉及到的是使用特定工具或插件来自动化生成MyBatis框架所需的实体类(Entity)、Mapper接口以及对应的XML配置文件,这样可以极大地提高开发效率,减少手动编写...

    String.xml Excel 相互转换工具

    从提供的文件列表来看,`Test.java`可能是用于测试工具功能的代码,`ExcelHandle.java`可能是处理Excel读写的核心类,而`entity`可能包含了一些数据结构定义,比如表示`String.xml`文件元素或Excel表格行的类。...

    逆向工程生成entity,mapper,mapper.xml

    在这个特定的场景中,"逆向工程生成entity,mapper,mapper.xml"指的是利用逆向工程工具来自动生成Java编程中的实体类(Entity)、映射器接口(Mapper)以及对应的XML配置文件。这些组件在Java企业级应用,特别是基于...

    自动生成entity mapper工具包

    这个工具包主要用于自动创建MyBatis框架中的`entity`(实体类)和`mapper`相关文件,包括`mapper.xml`配置文件以及对应的`mapper.java`接口。下面将详细阐述这一领域的知识。 MyBatis是一个优秀的持久层框架,它...

    ssm动态生成实体,mapper接口,.xml映射文件

    综上所述,mybatisGeneratorSqlmapper是SSM开发中的利器,通过它,你可以快速地生成符合规范的实体类、Mapper接口和XML映射文件,从而将更多精力集中在业务逻辑的实现上。掌握并合理使用这样的工具,能够显著提升...

    springboot+mybatis逆向生成controller+service+mapper+entity

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 逆向工程(Reverse Engineering)在这里指的是从现有的数据库结构自动...

    自动生成entity和dao层

    在传统的手动编码方式中,开发者需要为每个表编写对应的DAO接口和实现,这是一项重复且耗时的工作。 为了自动化这个过程,我们可以利用代码生成工具。在给定的“自动生成entity和dao层”的场景中,可能是使用了类似...

    mybatis 生成实体类工程 增删改查接口mapper.xml 只需要自己写业务。就是这么流弊

    "mybatis 生成实体类工程 增删改查接口mapper.xml 只需要自己写业务。就是这么流弊" 这个标题揭示了一个高效的解决方案,即使用代码生成工具自动创建这些常见组件,让开发者可以专注于核心业务逻辑,提高开发效率。 ...

    winform + access数据库 + EntityFramework ORM映射

    3、如果要使用EntityFramework还需要JetEntityFrameworkProvider,这是第三方github提供的软件,在NuGet上也提供了,不过它仅支持32位的,如果想要使用64位的,可以下载源码重新编译dll。 4、上面说的accessdatabase...

    SQLite和EntityFramework6配合使用的实例

    SQLite是一款轻量级的、开源的、嵌入式的关系型数据库,而Entity Framework(EF)则是.NET框架下的一个对象关系映射(ORM)工具,它允许开发者用.NET类来操作数据库。本实例将详细阐述如何在C#项目中结合SQLite和...

    逆向工程生成mapper和entity

    MyBatis Generator(MBG)就是这样一个工具,它可以自动化地生成MyBatis框架中的Mapper XML文件、Mapper接口以及对应的实体类。 MyBatis Generator是MyBatis官方提供的一个代码生成器,它可以根据数据库表的信息...

Global site tag (gtag.js) - Google Analytics