La versión QuickDAO4.0 se lanza oficialmente. En comparación con la versión 3.0, la arquitectura se ha rediseñado, la estructura del código es más clara y la interfaz externa no ha cambiado mucho. Si es usuario de la versión 3.0, puede ver el tutorial de migración en la página de inicio del almacén QuickDAO3.0.
QuickDAO4
QuickDAO es un marco ORM de Java conveniente y fácil de usar. Tiene las siguientes ventajas:
- Solo es necesario inyectar un DAO para completar la operación de inicialización
- Creación automática de tablas, nuevos campos de base de datos automáticos
- El nivel de API admite consultas relacionadas con claves externas y admite consultas complejas relacionadas con claves externas
- Soporte de dialecto de base de datos incorporado
- Anotaciones de clase de entidad, admite nombres de campos personalizados, tipos, si se debe crear un índice y establecer asociaciones de claves externas
Base de datos de soporte
- MySQL (por encima de 5.0)
- SQLite
- H2
- Postgre (9.0.0 y superior)
- SQL Server (versión 2012 y superior)
Inicio rápido
1 Importar QuickDAO
QuickDAO se basa en JDBC. Para mejorar la eficiencia, solo admite grupos de conexiones de bases de datos de forma predeterminada.
- Importar commons-dbcp (u otra implementación de fuente de datos)
- Importe la última versión de QuickDAO
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>cn.schoolwow</groupId>
<artifactId>QuickDAO</artifactId>
<version>4.0</version>
</dependency>
2 Configurar QuickDAO
BasicDataSource mysqlDataSource = new BasicDataSource();
mysqlDataSource.setDriverClassName("com.mysql.jdbc.Driver");
mysqlDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/quickdao");
mysqlDataSource.setUsername("root");
mysqlDataSource.setPassword("123456");
//指定实体所在包名
cn.schoolwow.quickdao.dao.DAO dao = QuickDAO.newInstance()
.dataSource(mysqlDataSource)
.packageName("cn.schoolwow.quickdao.entity")
.build();
//之后所有的操作使用dao对象完成
3 usa QuickDAO
- Consulta por id
User user = dao.fetch(User.class,1);
- Consulta basada en un solo atributo
User user = dao.fetch(User.class,"username","quickdao");
- Insertar objeto
dao.insert(user);
- Actualizar objeto
dao.update(user);
- Guardar el objeto (actualizar si existe, insertar si no existe)
dao.save(user);
- Eliminar según id
dao.delete(User.class,1);
- Eliminar según el valor del atributo
dao.delete(User.class,"username","quickdao");
- Consulta compleja
List<User> userList = dao.query(User.class)
.addQuery("name","quickdao")
.addNotNullQuery("password")
.page(1,10)
.orderBy("id")
.execute()
.getList();
- Consulta de asociación de clave externa
List<User> userList = dao.query(User.class)
.joinTable(Address.class,"addressId","id")
.addQuery("name","BeiJing")
.done()
.addQuery("name","quickdao")
.page(1,10)
.orderBy("id")
.compositField()
.execute()
.getList();