I'm searching for free and simple DAO generator for java (it needs to create entities/bens from db tables/views and generate basic CRUD code). Currently, I`m using DAO4J which lacks some functionality like views mapping. I know that there are frameworks like Hibernate but I dont need such robust framework.
Some things this framework should have to do:
- Generate CRUD operations with standard SQL queries and not compile-time typesafe queries
- Doesn't have session concept like hibernate
- Will not automatically close connection
- JDBC Connection can be configured through code
None of these are perfect matches, but both rock, in their own individual way:
- Spring Roo generates DAOs, Web Controllers and more for you.
- QueryDSL automatically creates Objects from your database tables and offers an Object-Oriented query syntax with compile-time safety.
But I'd say the winner is Spring Data. It offers a simple but powerful abstraction over many different underlying data store technologies and generates daos for you automatically. Here's a presentation of Spring Data JPA. Unfortunately Spring Data has not been released in final versions yet.
To add to duffymo's answer, MyBatis is good and you can use the MyBatis generator to generate data access code.
If you just need a code generator without adherence to a framework, you should try Telosys Tools. It's a lightweight tool, it generates code from an existing database model.
Some templates are specially designed for JDBC code generation, they are available on GitHub https://github.com/telosys-templates-v3
They offer code generation for DAO, DAO interfaces, POJO (beans), JUnit tests, etc
I wouldn't be much in favor of automatic generation.
I can recommend iBatis as a half step between JDBC and Hibernate.
You can do this with Hibernate Tools. But I personally never tried it, I have only created entity classes by now.
I would second iBatis. Other suggestion can be Spring JDBCTemplate
. Since you are fine to adopt a framework, so why not go with Spring
. It will also facilitate you with other great things.
来源:https://stackoverflow.com/questions/6042336/dao-generator-for-java