⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dom4jaccessortest.java

📁 介绍了hibernate的入门有一些基本常用的事例
💻 JAVA
字号:
// $Id: Dom4jAccessorTest.java,v 1.3 2005/02/21 05:35:11 oneovthafew Exp $package org.hibernate.test.dom4j;import junit.framework.Test;import junit.framework.TestSuite;import org.dom4j.DocumentFactory;import org.dom4j.Element;import org.dom4j.util.NodeComparator;import org.hibernate.EntityMode;import org.hibernate.engine.SessionFactoryImplementor;import org.hibernate.mapping.Property;import org.hibernate.mapping.SimpleValue;import org.hibernate.property.Getter;import org.hibernate.property.PropertyAccessorFactory;import org.hibernate.property.Setter;import org.hibernate.test.TestCase;/** * Implementation of Dom4jAccessorTest. * * @author Steve Ebersole */public class Dom4jAccessorTest extends TestCase {	public static final Element DOM = generateTestElement();	public Dom4jAccessorTest(String name) {		super(name);	}	protected String[] getMappings() {		return new String[0];	}	public void testStringElementExtraction() throws Throwable {		Property property = generateNameProperty();		Getter getter = PropertyAccessorFactory.getPropertyAccessor( property, EntityMode.DOM4J ).getGetter( null, null );		String name = ( String ) getter.get( DOM );		assertEquals( "Not equals", "JBoss", name );	}	public void testStringTextExtraction() throws Throwable {		Property property = generateTextProperty();		Getter getter = PropertyAccessorFactory.getPropertyAccessor( property, EntityMode.DOM4J ).getGetter( null, null );		String name = ( String ) getter.get( DOM );		assertEquals( "Not equals", "description...", name );	}	public void testLongAttributeExtraction() throws Throwable {		Property property = generateIdProperty();		Getter getter = PropertyAccessorFactory.getPropertyAccessor( property, EntityMode.DOM4J ).getGetter( null, null );		Long id = ( Long ) getter.get( DOM );		assertEquals( "Not equals", new Long(123), id );	}	public void testLongElementAttributeExtraction() throws Throwable {		Property property = generateAccountIdProperty();		Getter getter = PropertyAccessorFactory.getPropertyAccessor( property, EntityMode.DOM4J ).getGetter( null, null );		Long id = ( Long ) getter.get( DOM );		assertEquals( "Not equals", new Long(456), id );	}	public void testCompanyElementGeneration() throws Throwable {		Setter idSetter = PropertyAccessorFactory.getPropertyAccessor( generateIdProperty(), EntityMode.DOM4J )				.getSetter( null, null );		Setter nameSetter = PropertyAccessorFactory.getPropertyAccessor( generateNameProperty(), EntityMode.DOM4J )				.getSetter( null, null );		Setter textSetter = PropertyAccessorFactory.getPropertyAccessor( generateTextProperty(), EntityMode.DOM4J )		.getSetter( null, null );		Setter accountIdSetter = PropertyAccessorFactory.getPropertyAccessor( generateAccountIdProperty(), EntityMode.DOM4J )				.getSetter(null, null);		        Element root = generateRootTestElement();		idSetter.set( root, new Long(123), getSFI() );		textSetter.set( root, "description...", getSFI() );		nameSetter.set( root, "JBoss", getSFI() );		accountIdSetter.set( root, new Long(456), getSFI() );		assertTrue( "DOMs not equal", new NodeComparator().compare(DOM, root) == 0 );	}	// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	private static Element generateTestElement() {		Element company =generateRootTestElement();		company.addAttribute( "id", "123" );		company.setText("description...");		company.addElement( "name" ).setText( "JBoss" );		company.addElement( "account" ).addAttribute( "num", "456" );		System.out.println("Returning DOM : " + company.asXML() );		return company;	}	private static Element generateRootTestElement() {		return DocumentFactory.getInstance().createElement("company");	}	public static Test suite() {		return new TestSuite( Dom4jAccessorTest.class );	}	private SessionFactoryImplementor getSFI() {		return ( SessionFactoryImplementor ) getSessions();	}	private Property generateIdProperty() {		SimpleValue value = new SimpleValue();		value.setTypeName( "long" );		Property property = new Property();		property.setName( "id" );		property.setNodeName( "@id" );		property.setValue( value );		return property;	}	private Property generateTextProperty() {		SimpleValue value = new SimpleValue();		value.setTypeName( "string" );		Property property = new Property();		property.setName( "text" );		property.setNodeName( "." );		property.setValue( value );		return property;	}	private Property generateAccountIdProperty() {		SimpleValue value = new SimpleValue();		value.setTypeName( "long" );		Property property = new Property();		property.setName( "number" );		property.setNodeName( "account/@num" );		property.setValue( value );		return property;	}	private Property generateNameProperty() {		SimpleValue value = new SimpleValue();		value.setTypeName( "string" );		Property property = new Property();		property.setName( "name" );		property.setNodeName( "name" );		property.setValue( value );		return property;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -