android 半orm 数据库框架(dileber数据库框架)

android mvp框架:dileber(https://github.com/dileber/dileber.gitphp

今天主要介绍半orm数据库框架~~我学习mybatis的写法,写了这套框架~~目前还在继续完善中java

 
 
----------------------------------------------
今天主要是讲dileber中集成的数据库框架,我专门为dileber编写了一套数据库框架~~固然会有一些bug~~但愿使用这套数据库框架的人帮我指出
 
在java web中目前使用比较火的是mybatis 个人这套框架会和mybatis有必定的类似~~
固然我主张写sql的方式写数据库
 
废话很少说:上干货
 
---------------------------------------------
 
 
固然我把文章罗列一下
 
 
 
 
 
 
 
在后期我会把数据库自动生成代码也放到框架自动生成代码中
 
-------------------------------------------------
 
首先如何创建数据库
 
dileber是一个能够创建多数据库多表的一个框架
 
String s = "CREATE TABLE user (_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER,info TEXT)";
list.add(s);
user = DBManager.getInstance().getDB("user",1,list);
getDB的参数是  数据库名字,数据库版本号,数据表建立语句
 
新建一个model(后期会有一套自动生成model工具,不须要再写model)
 
user model(须要与数据库建立语句相同)
 
package com.zhonghua.smailadd.LocalModel;

/**
 * Created by shidawei on 16/2/9.
 * CREATE TABLE user (_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER,info TEXT)
 */
public class User {

    Integer _id;

    String name;

    Integer age;

    String info;

    public Integer get_id() {
        return _id;
    }

    public void set_id(Integer _id) {
        this._id = _id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

}
 
 
新建一个mapper 数据映射的一个类
 
一共有5个注解
 
insert  update delete select  clazz
 
目前在 前三个注解提供了批量方法
 
这三个方法使用是相通的
 
单个insert的反回值比较特殊之外(long)其余都为int
 
long insert(Map<String,Object> map);
 
目前参数传值只能传两种 后期会对实体类进行映射
 
Map<String,Object> map
List<Map<String,Object>> list
其中的值必需要保证名字的一致性
 
select注解已经把映射加上了
在返回值为list的时候 须要在你的select上面加上你的映射类名
@Clazz("com.zhonghua.smailadd.LocalModel.User")
后期我会用扫描类名来简化操做
 
 
package com.zhonghua.smailadd.db;

import com.zhonghua.dileber.data.db.annotation.Clazz;
import com.zhonghua.dileber.data.db.annotation.Insert;
import com.zhonghua.dileber.data.db.annotation.Select;
import com.zhonghua.smailadd.LocalModel.User;

import java.util.List;
import java.util.Map;

/**
 * Created by shidawei on 16/2/9.
 */
public interface UserMapper{

    @Insert("Insert into user(name,age,info) values (#{name},#{age},#{info})")
    long insert(Map<String,Object> map);


    @Insert("Insert into user(name,age,info) values (#{name},#{age},#{info})")
    int insert(List<Map<String,Object>> list);


    @Clazz("com.zhonghua.smailadd.LocalModel.User")
    @Select("select * from user")
    List<User> select();

    @Select("select * from user limit 1")
    User select2();


}
 
代码中使用
你的数据库建立最好放在 application中
public class SmailApplication extends SApplication{

    public static DBManager user;

    @Override
    public void onCreate() {
        super.onCreate();
       
        List<String> list = new ArrayList<String>();

     

        String s = "CREATE TABLE user (_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER,info TEXT)";
        list.add(s);
        user = DBManager.getInstance().getDB(Configer.DB_NAME,Configer.DB_VERSION,list);

        UserMapper userMapper = user.loadMapper(UserMapper.class);

        SLog.w("ddddddddd");
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("name", "22211");
        map.put("age", 51L);
        map.put("info", "111");
        List<Map<String,Object>> lisd = new ArrayList<Map<String, Object>>();
        lisd.add(map);
        userMapper.insert(lisd);

        User mm = userMapper.select2();
        SLog.i(mm.getInfo(),mm.getAge(),mm.getName());

        List<User> users = null;
        try {
           
            users = userMapper.select();
        } catch (Exception e) {
            e.printStackTrace();
        }

        for(int i =0;i<users.size(); i++) {
            SLog.i("sssssssss" , users.get(i).getName(),users.get(i).getInfo(),String.valueOf(users.get(i).getAge()));
        }

    }
}
 
如上就是如何使用该套 半orm数据库框架
相关文章
相关标签/搜索