背景知识
ORM
它的英文全称是Object Relational Mapping,意思是对象关系映射;如果接触过Java EE开发的,一定知道Java Web开发就有一个类似的数据库映射框架——Hibernate。简单来说,就是我们定义一个实体类,利用这个框架,它可以帮我们吧这个实体映射到我们的数据库中。
Hibernate
是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Java Bean
对于j2ee的初学者,javabean确实是一个让人容易困惑的概念。现在来说说我自己的理解。
javabean其实包含多个方面的含义。
1. 顾名思义,bean,保存数据的实体,通常与数据库中的表对应。也称为,pojo,entity,domain。比如Person,Apple等,只有private属性和public setxxxx和getxxx。具体实例就是对应表中的一行。那些hibernate,ibatis等orm框架,都支持它们和表的互相映射。
2. 这个就比较高大上,也比较抽象了。javabean被称为完成特定功能的组件。不是有高内聚低耦合的说法么?它就是这样一组java类集合。
Android 数据库框架ormlite
android上sqlite已经比较好用,但是如果需要在android上像J2EE那样开发的话那么sqlite还是显得比较复杂,这个时候你当然可以选择一些android平台上的ORM框架。
主要功能:
通过添加注解设置自己的类。
强大的抽象数据库访问对象(DAO)类。
通过灵活的QueryBuilder轻松构建各种查询。
支持MySQL、Postgres、Microsoft SQL Server、H2、Derby、HSQLDB、Sqllite且可以相对容易的扩展到其他数据库。
临时支持(Provisional support)DB2、Oracle、ODBC和Netezza。如果不支持你的数据库,联系作者。
处理“编译”重复查询任务的SQL语句。
通过对象类型的属性支持“外”对象,数据库中只存储外对象的id。
基本支持数据库事务。
自动生成创建、删除数据库表的SQL。
支持Spring配置。
支持不用注解配置表和字段。
支持Android SQLite数据库API的本地调用。
ORMlite的使用例子
ORMlite通过Java注解的方式来建立起与数据库的映射关系
如我们现在想要建立一个简单的数据库test.db并创建一张表person来记录一个人的名字,年龄,住址等等。
建立bean类
首先,建立我们的Bean类Person,并通过注解的方式与数据库联系起来
@DatabaseTable(tableName = "person")
public class Person {
@DatabaseField(generatedId=true)
private int id;
@DatabaseField(columnName="name")
private String name;