Orm之开篇

Orm_Reflect_DB——Orm

ORM系列章节列表(点击查阅):

一、ORM之开篇
这里用最简单的数据库操作,为大家透析Orm+Reflect+DataBase结合的小框架,相信用过Orm框架的人都会觉得在解耦和使用上非常方便,同样也觉得它很神秘,那么我就带大家来慢慢揭开它神秘的面纱,其实so easy !

因为涉及的东西比较多,我这个人不喜欢长篇大论,所以将所讲的东西拆分成三个部分,方便大家理解和接受。

第一部分我们就来讲一下Orm这个东西,具体含义找度娘帮你大笑,首先贴一段XML代码:

<orm tablename="students" beanName="pdm.com.ormdatabase.bean.Student"
    daoName="pdm.com.ormdatabase.dao.StudentDao">
    <!-- 是否自增长identity -->
    <key column="_sid" property="stuId" type="java.lang.Integer" identity="true"></key>
    <item column="stu_name" property="stuName" type="java.lang.String"></item>
    <item column="stu_classname" property="stuClass" type="java.lang.String"></item>
</orm>

 
 
 

这里我将它存放到assets目录,文件名:Student.orm.xml方便操作。咋看一眼,不是太明白写的啥东西,那么我们继续贴代码:

创建一个bean目录,用来存放实体类,类名Student,内容如下:

package pdm.com.ormdatabase.bean;
import java.util.Random;
/**
 * Created by pdm on 2016/10/3.
 * CSDN :http://write.blog.csdn.net/postlist
 * GitHub :https://github.com/flyingfishes
 */
public class Student {
   private Integer stuId;
   private String stuName;
   private String stuClass;
   
   public Student() {
      super();
      stuName = "name_"+ new Random().nextInt(10000);//随机取数
      stuClass="class_"+new Random().nextInt(10000);
      // TODO Auto-generated constructor stub
   }
   public Student(String stuName, String stuClass) {
      super();
      this.stuName = stuName;
      this.stuClass = stuClass;
   }
   public Integer getStuId() {
      return stuId;
   }
   public void setStuId(Integer stuId) {
      this.stuId = stuId;
   }
   public String getStuName() {
      return stuName;
   }
   public void setStuName(String stuName) {
      this.stuName = stuName;
   }
   public String getStuClass() {
      return stuClass;
   }
   public void setStuClass(String stuClass) {
      this.stuClass = stuClass;
   }
   @Override
   public String toString() {
      return "Student [stuId=" + stuId + ", stuName=" + stuName
            + ", stuClass=" + stuClass + "]";
   }
}

 
然后我们看一下XML里的property(属性)对应的值,是不是跟 Student中的字段名一一对应,是不是有一点眉目了。 

接下来继续贴代码(建立数据库的代码):

@Override
public void onCreate(SQLiteDatabase db) {
    db.beginTransaction();
    try {
        db.execSQL("create table students(_sid integer primary key autoincrement," +
                "stu_name varchar(20),stu_classname varchar(20))");

        db.setTransactionSuccessful();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        db.endTransaction();
    }
}

 
我们将建立数据库表中的三个字段拿出来分别是:_sid,stu_name,stu_classname,跟XML中的column对应的值是不是一样,包括后面的type跟数据库创建字段的类型也都是一一对应关系。再看看orm标签的tablename属性对应的值不正是数据库的表名。 

讲到了这里Orm的基本概念是不是大概清楚了,通过XMl或者其他文本形式,将实体和数据库中的表以及包含的字段关联起来,是不是就有点“对象关系映射”的感觉了,这里的XMl文件可以称之为关系映射配置文件。

接下来大家是不是想问,这样有什么用?   不用着急,我们一步步来,请看下一章节Orm(二):XML文本解析 + Application初始化配置文件。

源码:Orm_Reflect_DB

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值