propertyutils(Java里PropertyDescriptor 的用法)

本文目录

  • Java里PropertyDescriptor 的用法
  • hibernate 怎么查询动态的表名
  • java:关于PropertyUtils.setProperty方法

Java里PropertyDescriptor 的用法

public class PropertyDescriptor extends Feature Descriptor PropertyDescriptor 描述 Java Bean 通过一对存储器方法导出的一个属性。 构造方法摘要 PropertyDescriptor(String propertyName, Class《?》 beanClass) 通过调用 getFoo 和 setFoo 存取方法,为符合标准 Java 约定的属性构造一个 PropertyDescriptor。 PropertyDescriptor(String propertyName, Class《?》 beanClass, String readMethodName, String writeMethodName) 此构造方法带有一个简单属性的名称和用于读写属性的方法名称。 PropertyDescriptor(String propertyName, Method readMethod, Method writeMethod) 此构造方法带有某一简单属性的名称,以及用来读取和写入属性的 Method 对象。

hibernate 怎么查询动态的表名

package com.mit.cooperate.core.hibernate;import junit.framework.TestCase;import java.net.URL; import java.util.ArrayList;import org.apache.commons.beanutils.PropertyUtils;import org.hibernate.Session; import org.hibernate.cfg.Configuration; import org.hibernate.SessionFactory; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.hibernate.impl.SessionFactoryImpl; import org.hibernate.mapping.PersistentClass; import org.hibernate.Transaction;import com.mit.cooperate.core.asm.*; import com.mit.cooperate.core.asm.render.*;public class HibernateTest extends TestCase {private Configuration config;private SessionFactory factory;public void setUp(){URL url = this.getClass().getResource(“/com/mit/cooperate/core/hibernate/hibernate.cfg.xml“);config = new Configuration().configure(url);factory = config.buildSessionFactory();}public void testBuild() throws Exception{//持久类对象描述RenderClass rc = new RenderClass();ArrayList list = new ArrayList();RenderProperty property = new RenderProperty();//添加主键property.setName(“oid“);property.setField(“oid“);property.setLength(new Integer(15));property.setPrimary(true);property.setType(Long.class.getName());property.setSequence(“SEQ_PERSON“);list.add(property);//添加一个name字段property = new RenderProperty();property.setName(“name“);property.setType(String.class.getName());property.setField(“name“);property.setLength(new Integer(20));list.add(property);rc.setProperties(list);//类名rc.setClassName(“com.mit.test.Person“);rc.setTableName(“person“);//开始生成classPOBuildUtil util = new POBuildUtil();util.build(rc.getClassName(),“E:\\cpc\\source\\cooperateCore\\com\\mit\\test\\Person.class“,list);//实例化一个personObject person = Class.forName(“com.mit.test.Person“).newInstance();//hbmcls.newInstance();//开始生成hbm.xmlFreemarkerRender render = new FreemarkerRender();render.render(rc, Templates.TEMPLATE_HIBERNATE3, “E:\\cpc\\source\\cooperateCore\\com\\mit\\test\\person.hbm.xml“);URL url = this.getClass().getResource(“/com/mit/test/person.hbm.xml“);config.addURL(url);//更新hibernate.cfg.xmlHibernateUtil.updateHbmCfg( this.getClass().getResource(“/com/mit/cooperate/core/hibernate/hibernate.cfg.xml“), “com/mit/test/person.hbm.xml“);PersistentClass model = config.getClassMapping(“com.mit.test.Person“);//sessionFactory哪下子,快接纳person爷爷进去((SessionFactoryImpl)factory).addPersistentClass(model, config.getMapping());//生成数据库SchemaExport export = new SchemaExport(config,((SessionFactoryImpl)factory).getSettings());export.execute(true, true,false,true);//测试一下,随便给个名字什么的PropertyUtils.setProperty(person, “name“, “chenzhi“);Session session = factory.openSession();Transaction tran = session.beginTransaction();try{//保存session.save(person);tran.commit();}catch (Exception e){e.printStackTrace();tran.rollback();}finally{session.close();}}public void tearDown(){factory.close();}}

java:关于PropertyUtils.setProperty方法

1,不访问.2,继承出来改写方法为public.要么作者不希望那个变量被复写,你需要另外想办法。要么要求发布方提供可复写的版本。要么(我的猜测)这个变量是初始化期间通过文件配置的。

Powered By sitemap