M
markspace
Hey all,
I'm making a small website as a personal project using only the JDBC
interface. (No ORM, etc.) Well, I did the CRUD for exactly one bean
and found it pretty tedious going. So I started looking around for
something light-weight to help me out. I found the Apache commons
dbutils project:
<http://commons.apache.org/dbutils/>
This makes reading a bean much much easier. It does most of the column
to property matching for you and will read an entity into a bean with
only a few lines of code. Here's a (mostly) complete example from my
little project:
public UserBean getByUsername( String name ) {
QueryRunner run = new QueryRunner( dataSource );
BeanHandler<UserBean> handler = new BeanHandler( UserBean.class );
UserBean user = null;
try {
user=run.query( sqlStatements.getProperty( LOGIN_BY_USERNAME ),
handler, name );
} catch( SQLException ex ) {
Logger.getLogger( UserDataMapper.class.getName() ).
log( Level.SEVERE, null, ex );
}
return user;
}
That's a lot less 'faffing about' reading the fields of a ResultSet into
a simple bean, and a much higher signal-to-noise ratio imo.
The problem is, this only works for reading a simple entity. There
doesn't seem to be any equivalent for update, create, or delete.
So my question is: does any have experience with dbutils and see's
something I'm missing? Would you take a look at the docs even if you
don't have experience with dbutils?
And: is there a better, light-weight non-ORM package that you might
recommend instead? Something a bit more complete.
Anyway, I'm in the middle of adding basic update and create, and it's
actually going well. (It'd be going better if I weren't some clumsy
with SQL syntax.) But I thought I'd ask to see what other ideas the
folks here on this news group might have.
Thanks!
I'm making a small website as a personal project using only the JDBC
interface. (No ORM, etc.) Well, I did the CRUD for exactly one bean
and found it pretty tedious going. So I started looking around for
something light-weight to help me out. I found the Apache commons
dbutils project:
<http://commons.apache.org/dbutils/>
This makes reading a bean much much easier. It does most of the column
to property matching for you and will read an entity into a bean with
only a few lines of code. Here's a (mostly) complete example from my
little project:
public UserBean getByUsername( String name ) {
QueryRunner run = new QueryRunner( dataSource );
BeanHandler<UserBean> handler = new BeanHandler( UserBean.class );
UserBean user = null;
try {
user=run.query( sqlStatements.getProperty( LOGIN_BY_USERNAME ),
handler, name );
} catch( SQLException ex ) {
Logger.getLogger( UserDataMapper.class.getName() ).
log( Level.SEVERE, null, ex );
}
return user;
}
That's a lot less 'faffing about' reading the fields of a ResultSet into
a simple bean, and a much higher signal-to-noise ratio imo.
The problem is, this only works for reading a simple entity. There
doesn't seem to be any equivalent for update, create, or delete.
So my question is: does any have experience with dbutils and see's
something I'm missing? Would you take a look at the docs even if you
don't have experience with dbutils?
And: is there a better, light-weight non-ORM package that you might
recommend instead? Something a bit more complete.
Anyway, I'm in the middle of adding basic update and create, and it's
actually going well. (It'd be going better if I weren't some clumsy
with SQL syntax.) But I thought I'd ask to see what other ideas the
folks here on this news group might have.
Thanks!