PropertySet的map/xml/jdbc
import java.sql.SQLException;import java.util.HashMap;import java.util.Map;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import oracle.jdbc.pool.OracleDataSource;import org.apache.commons.lang.StringUtils;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.module.propertyset.PropertySetManager;public class PropertySetDemo2 {public static void main(String[] args) throws Exception {PropertySetDemo2 demo = new PropertySetDemo2();demo.initJNDI();demo.jdbcPsDemo();}public void initJNDI() throws NamingException, SQLException {//生成一个DataSource实例OracleDataSource ds = new OracleDataSource();ds.setDriverType("oracle.jdbc.driver.OracleDriver");ds.setURL("jdbc:oracle:thin:@localhost:1521:oracl");ds.setUser("user");ds.setPassword("password");//注册JNDISystem.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory");Context context = new InitialContext();context.bind("awp1", ds);}public void jdbcPsDemo() {System.out.println(StringUtils.center("JDBC PropertySet Demo", 80, '*'));Map<String, String> map = new HashMap<String, String>();map.put("globalKey", "a");//不可缺省。不同项目或不同模块可以用不同的globalKey,并且持久化到同一个表中PropertySet ps = PropertySetManager.getInstance("jdbc", map);ps.setBoolean("BooleanPS", true);ps.setString("name", "Jack");ps.setDouble("dvalue", 0.1234567);System.out.println(ps.getBoolean("BooleanPS"));System.out.println(ps.getString("name"));System.out.println(ps.getDouble("dvalue"));System.out.println(StringUtils.repeat("*", 80));}}?
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.util.HashMap;import org.apache.commons.io.IOUtils;import org.apache.commons.lang.StringUtils;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.module.propertyset.PropertySetManager;import com.opensymphony.module.propertyset.xml.XMLPropertySet;public class PropertySetDemo {public static void main(String[] args) throws Exception {PropertySetDemo demo = new PropertySetDemo();demo.mapPsDemo();demo.memoryPsDemo();demo.xmlPsDemo();}public void memoryPsDemo() {System.out.println(StringUtils.center("Memory PropertySet Demo", 80,'*'));// memory是配置文件中定义的:<propertyset name="memory"// name="code"><?xml version="1.0" encoding="UTF-8"?><propertysets><propertyset name="jdbc"value="awp1" /><arg name="table.name" value="OS_PROPERTYENTRY" /><arg name="col.globalKey" value="GLOBAL_KEY" /><arg name="col.itemKey" value="ITEM_KEY" /><arg name="col.itemType" value="ITEM_TYPE" /><arg name="col.string" value="STRING_VALUE" /><arg name="col.date" value="DATE_VALUE" /><arg name="col.data" value="DATA_VALUE" /><arg name="col.float" value="FLOAT_VALUE" /><arg name="col.number" value="NUMBER_VALUE" /></propertyset></propertysets>?
<?xml version="1.0" ?><property-set> <property key="aa" type="boolean">false</property> <property key="ab" type="int">123</property> <property key="ac" type="long">98765432109</property> <property key="ad" type="double">2.3</property> <property key="ae" type="string">abcde</property> <property key="af" type="text">fghijk </property> <property key="ag" type="date">2009-18-30 21:18:00</property> <property key="ai" type="properties"> <properties> <property key="passord" type="string">pwd</property> <property key="username" type="string">testuser</property> </properties> </property></property-set>
?
create table OS_PROPERTYENTRY( GLOBAL_KEY VARCHAR2(255) not null, ITEM_KEY VARCHAR2(255) not null, ITEM_TYPE INTEGER, STRING_VALUE VARCHAR2(255), DATE_VALUE DATE, DATA_VALUE BLOB, FLOAT_VALUE FLOAT, NUMBER_VALUE INTEGER);
?
?