Custom RowSet MetaData
From Java Example Source Code
Contents |
[edit] Overview - Custom RowSet MetaData
This Java example program introduces custom RowSet metaData.
[edit] Java Source Code
- Package: example.jdbc.resultsetmetadata
- File: Main.java
package example.jdbc.resultsetmetadata; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.Types; import javax.sql.RowSetMetaData; import javax.sql.rowset.CachedRowSet; import javax.sql.rowset.RowSetMetaDataImpl; import com.sun.rowset.CachedRowSetImpl; public class Main { public static void main(String[] args) throws Exception { Connection conn = getHSQLConnection(); System.out.println("Got Connection."); Statement st = conn.createStatement(); st.executeUpdate("create table survey (id int,name varchar);"); st.executeUpdate("create view surveyView as (select * from survey);"); st.executeUpdate("insert into survey (id,name ) values (1,'nameValue')"); st.executeUpdate("insert into survey (id,name ) values (2,'anotherValue')"); CachedRowSet crs = null; RowSetMetaData rsMD = new RowSetMetaDataImpl(); rsMD.setColumnCount(2); rsMD.setColumnName(1, "id"); rsMD.setColumnType(1, Types.VARCHAR); rsMD.setColumnName(2, "name"); rsMD.setColumnType(2, Types.VARCHAR); // sets the designated column's table name, if any, to the given String. rsMD.setTableName(1, "survey"); rsMD.setTableName(2, "survey"); // use a custom made RowSetMetaData object for CachedRowSet object crs = new CachedRowSetImpl(); crs.setMetaData(rsMD); crs.moveToInsertRow(); crs.updateString(1, "1111"); crs.updateString(2, "alex"); crs.insertRow(); crs.moveToInsertRow(); crs.updateString(1, "2222"); crs.updateString(2, "jane"); crs.insertRow(); // if you want to commit changes from a CachedRowSet // object to your desired datasource, then you must // create a Connection object. // // conn = getHSQLConnection(); // moves the cursor to the remembered cursor position, usually // the current row. This method has no effect if the cursor is // not on the insert row. crs.moveToCurrentRow(); // when the method acceptChanges() is executed, the CachedRowSet // object's writer, a RowSetWriterImpl object, is called behind the // scenes to write the changes made to the rowset to the underlying // data source. The writer is implemented to make a connection to // the data source and write updates to it. crs.acceptChanges(conn); conn.close(); } private static Connection getHSQLConnection() throws Exception { Class.forName("org.hsqldb.jdbcDriver"); System.out.println("Driver Loaded."); String url = "jdbc:hsqldb:data/tutorial"; return DriverManager.getConnection(url, "sa", ""); } public static Connection getMySqlConnection() throws Exception { String driver = "org.gjt.mm.mysql.Driver"; String url = "jdbc:mysql://localhost/demo2s"; String username = "oost"; String password = "oost"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, username, password); return conn; } public static Connection getOracleConnection() throws Exception { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:caspian"; String username = "mp"; String password = "mp2"; Class.forName(driver); // load Oracle driver Connection conn = DriverManager.getConnection(url, username, password); return conn; } }
[edit] What Result You Can Get
Coming soon...
[edit] Required External Libraries and/or Files for this Java Example
In order to run this Java example, one of the following libraries may be required: In order to run this example program, one of the following libraries may be required:
- MySQL JDBC driver. You can download it from MySQL Connector/J — for connecting to MySQL from Java
- Oracle JDBC driver. You can download it from JDBC driver for Oracle.
- MSSQL JDBC driver. There are several vendors provide JDBC driver for MSSQL, you should chose one of them:
- jTDS - SQL Server and Sybase JDBC driver. It is an open source JDBC 3.0 Type 4 driver for Microsoft SQL Server (6.5, 7.0, 2000 and 2005) and Sybase. jTDS is the fastest JDBC driver for MS SQL Server and is a complete implementation of the JDBC spec. You can download it from jTDS - SQL Server and Sybase JDBC driver
- MSSQL JDBC driver from Microsoft.
- JDBC driver for MSSQL 2000. You can download it from SQL Server 2000 Driver for JDBC Service Pack 3
- JDBC driver for MSSQL 2005. You can download it from Microsoft SQL Server 2005 JDBC Driver 1.2
- PostgreSQL JDBC driver. You can download it from PostgreSQL JDBC driver. It is a pure Java (Type IV) implementation.
- HSQLDB JDBC Driver. HSQLDB is the leading SQL relational database engine written in Java. It has a JDBC driver and supports a rich subset of ANSI-92 SQL plus SQL 99 and 2003 enhancements. You can download it from hsqldb.
[edit] How to Run this Java Example Program
We recommend running this Java example program with Eclipse.
For assistance in working with Eclipse, please see How to Run Java Program with Eclipse.
It's fairly easy.
[edit] Question & Answer
Any question?
Click edit and post your question or answer here.
