Multiple RowSets redux...

This is a discussion on Multiple RowSets redux... within the JDBC JAVA forums in Framework and Interface Programming category; ok, i think i'm getting a handle on the whole MVC thing and how i should be constructing my db application. But i am still confused on one thing. (well probably more, but one for now) again, i am trying to build an app that displays data from multiple tables in a single Derby database. the tables will be displayed in two different JTables with two different TableModels displayed on the same frame. Each TableModels will get their data from a JDBCRowSet object. My question is, should each TableModel have it's own JDBCRowSet instance; which seems the most straight-forward, but ...

Go Back   Application Development Forum > Framework and Interface Programming > JDBC JAVA

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 01-29-2008, 10:29 PM
mdR
Guest
 
Default Multiple RowSets redux...

ok, i think i'm getting a handle on the whole MVC thing and how i
should be constructing my db application. But i am still confused on
one thing. (well probably more, but one for now)

again, i am trying to build an app that displays data from multiple
tables in a single Derby database. the tables will be displayed in
two different JTables with two different TableModels displayed on the
same frame. Each TableModels will get their data from a JDBCRowSet
object. My question is, should each TableModel have it's own
JDBCRowSet instance; which seems the most straight-forward, but
requires multiple connections--or is there a better way-- to somehow
use one connection and retrieve multiple result sets?

btw--this is going to be a multi-user client/server app.

tia
-mark
Reply With Quote
  #2  
Old 01-29-2008, 10:50 PM
Lew
Guest
 
Default Re: Multiple RowSets redux...

mdR wrote:
> i [sic] am trying to build an app that displays data from multiple
> tables in a single Derby database. the tables will be displayed in
> two different JTables with two different TableModels displayed on the
> same frame. Each TableModels will get their data from a JDBCRowSet
> object. My question is, should each TableModel have it's [sic] own
> JDBCRowSet instance; which seems the most straight-forward, but


What is the package in which 'JDBCRowSet' resides? The only similarly-named
API type I can find is
<http://java.sun.com/javase/6/docs/api/javax/sql/rowset/JdbcRowSet.html>
but that's not what you said. What is the class you're discussing?

If it is JdbcRowSet, that does not have the ability to be a disconnected
RowSet. (Read the Javadocs.) And you need to be more careful about spelling.
Case counts!

> requires multiple connections--or is there a better way-- to somehow
> use one connection and retrieve multiple result sets?


If you reuse a RowSet, or any ResultSet,
> A ResultSet object is automatically closed when the Statement object
> that generated it is closed, re-executed, or used to retrieve the
> next result from a sequence of multiple results.

<http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html>

This presumably will not affect disconnected RowSets, but the fact remains
that re-using a RowSet for multiple models will be very difficult. Each time
you load it for one TableModel, you somehow would have to get the other
TableModel not to use it, and vice versa. Seems complicated.

--
Lew
The word "I" in English is capitalized. Case counts.
Reply With Quote
  #3  
Old 01-30-2008, 03:41 AM
Dyreatnews@sun.com
Guest
 
Default Re: Multiple RowSets redux...

mdR <mrafn@lakenet.com> writes:

> ok, i think i'm getting a handle on the whole MVC thing and how i
> should be constructing my db application. But i am still confused on
> one thing. (well probably more, but one for now)
>
> again, i am trying to build an app that displays data from multiple
> tables in a single Derby database. the tables will be displayed in
> two different JTables with two different TableModels displayed on the
> same frame. Each TableModels will get their data from a JDBCRowSet
> object. My question is, should each TableModel have it's own
> JDBCRowSet instance; which seems the most straight-forward, but
> requires multiple connections--or is there a better way-- to somehow
> use one connection and retrieve multiple result sets?


No, connections are not _that_ expensive. In Derby
the connection is simply a Java thread with an associated socket. It
doesn't grab huge chunks of memory so it does not add much to the
footprint either.

Note that in Derby obtaining the first connection (with the create=true
property) could take some time, because the whole database gets
created. But getting the next connection to that database will be very
quick (as will getting a connection to an existing database).

And you should use PreparedStatements for anything where performance is
important. This is true for most databases, but especially for Derby
which compiles SQL to java byte code which is a rather heavy
process.

>
> btw--this is going to be a multi-user client/server app.


--
dt

Questions about Derby/Java DB? Please visit
http://db.apache.org/derby/derby_mail.html
Reply With Quote
  #4  
Old 01-30-2008, 08:40 AM
mdR
Guest
 
Default Re: Multiple RowSets redux...

On Jan 29, 9:50 pm, Lew <l...@lewscanon.com> wrote:
> mdR wrote:
> > i [sic] am trying to build an app that displays data from multiple
> > tables in a single Derby database. the tables will be displayed in
> > two different JTables with two different TableModels displayed on the
> > same frame. Each TableModels will get their data from a JDBCRowSet
> > object. My question is, should each TableModel have it's [sic] own
> > JDBCRowSet instance; which seems the most straight-forward, but

>
> What is the package in which 'JDBCRowSet' resides? The only similarly-named
> API type I can find is
> <http://java.sun.com/javase/6/docs/api/javax/sql/rowset/JdbcRowSet.html>
> but that's not what you said. What is the class you're discussing?
>
> If it is JdbcRowSet, that does not have the ability to be a disconnected
> RowSet. (Read the Javadocs.) And you need to be more careful about spelling.
> Case counts!
>
> > requires multiple connections--or is there a better way-- to somehow
> > use one connection and retrieve multiple result sets?

>
> If you reuse a RowSet, or any ResultSet,> A ResultSet object is automatically closed when the Statement object
> > that generated it is closed, re-executed, or used to retrieve the
> > next result from a sequence of multiple results.

>
> <http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html>
>
> This presumably will not affect disconnected RowSets, but the fact remains
> that re-using a RowSet for multiple models will be very difficult. Each time
> you load it for one TableModel, you somehow would have to get the other
> TableModel not to use it, and vice versa. Seems complicated.
>
> --
> Lew
> The word "I" in English is capitalized. Case counts.



Thanks again for the reply... (it was late and I just wanted to get
some answers overnight for today--got lazy on the caps)
I kind of thought re-using a RowSet would be trouble and difficult to
manage. So that answers that.

Yes, I meant JdbcRowSet, and I'm not sure that I want a disconnected
RowSet. It's going to be a fairly large database. It probably won't
be able to load all in memory. Wouldn't I want to use JdbcRowSet?

-mark
Reply With Quote
  #5  
Old 01-30-2008, 08:42 AM
mdR
Guest
 
Default Re: Multiple RowSets redux...

On Jan 30, 2:41 am, Dyreatn...@sun.com wrote:
> mdR <mr...@lakenet.com> writes:
> > ok, i think i'm getting a handle on the whole MVC thing and how i
> > should be constructing my db application. But i am still confused on
> > one thing. (well probably more, but one for now)

>
> > again, i am trying to build an app that displays data from multiple
> > tables in a single Derby database. the tables will be displayed in
> > two different JTables with two different TableModels displayed on the
> > same frame. Each TableModels will get their data from a JDBCRowSet
> > object. My question is, should each TableModel have it's own
> > JDBCRowSet instance; which seems the most straight-forward, but
> > requires multiple connections--or is there a better way-- to somehow
> > use one connection and retrieve multiple result sets?

>
> No, connections are not _that_ expensive. In Derby
> the connection is simply a Java thread with an associated socket. It
> doesn't grab huge chunks of memory so it does not add much to the
> footprint either.
>
> Note that in Derby obtaining the first connection (with the create=true
> property) could take some time, because the whole database gets
> created. But getting the next connection to that database will be very
> quick (as will getting a connection to an existing database).
>
> And you should use PreparedStatements for anything where performance is
> important. This is true for most databases, but especially for Derby
> which compiles SQL to java byte code which is a rather heavy
> process.
>
>
>
> > btw--this is going to be a multi-user client/server app.

>
> --
> dt
>
> Questions about Derby/Java DB? Please visithttp://db.apache.org/derby/derby_mail.html


Great! Above combined with Lews comments puts me on the right
track.
And yes, I plan on using PreparedStatements.
Thanks again.

-mark
Reply With Quote
  #6  
Old 01-30-2008, 09:56 AM
Lew
Guest
 
Default Re: Multiple RowSets redux...

mdR wrote:
> Yes, I meant JdbcRowSet, and I'm not sure that I want a disconnected
> RowSet. It's going to be a fairly large database. It probably won't
> be able to load all in memory. Wouldn't I want to use JdbcRowSet?


I don't know. I've been writing Java JDBC code for nine years and never once
used JdbcRowSet. What are its advantages over regular RowSet or ResultSet?

--
Lew
Reply With Quote
  #7  
Old 01-30-2008, 05:13 PM
mdR
Guest
 
Default Re: Multiple RowSets redux...

On Jan 30, 8:56 am, Lew <l...@lewscanon.com> wrote:
> mdR wrote:
> > Yes, I meant JdbcRowSet, and I'm not sure that I want a disconnected
> > RowSet. It's going to be a fairly large database. It probably won't
> > be able to load all in memory. Wouldn't I want to use JdbcRowSet?

>
> I don't know. I've been writing Java JDBC code for nine years and never once
> used JdbcRowSet. What are its advantages over regular RowSet or ResultSet?
>
> --
> Lew


hmm... I see your point. After a little closer reading on the RowSet
and JdbcRowSet API, it appears the use of a JdbcRowSet is not needed.
I'm coming from JBuilder where all the database stuff was "behind the
curtains" and I didn't have to do as much. They had various DB and
GUI beans for different "stores" of data. Then in the latest release
of JBuilder they dropped their database swing components and support,
so now I've got to back up and learn all the stuff under the hood.
Which, I guess, is a good thing. Just running into some confusion,
which you guys are helping straighten out Actually it's becoming
pretty fun!

What happens on extremely large databases? Say, a table that has
50,000 rows and each row has about 16 columns with each column being
char(30). Or is that not that large?

-mark

Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 05:51 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.