android 半orm 数据库框架(dileber数据库框架)
今天我为大家介绍一款android mvp框架:dileber(https://github.com/dileber/dileber.git)官方交流qq群:171443726----------------------------------------------今天主要是讲dileber中集成的数据库框架,我专门为dileber编写了一套数据库框架~~当然会有
·
android mvp框架:dileber(https://github.com/dileber/dileber.git)
今天主要介绍半orm数据库框架~~我学习mybatis的写法,写了这套框架~~目前还在继续完善中
官方交流qq群:171443726
----------------------------------------------
今天主要是讲dileber中集成的数据库框架,我专门为dileber编写了一套数据库框架~~当然会有一些bug~~希望使用这套数据库框架的人帮我指出
在java web中目前使用比较火的是mybatis 我的这套框架会和mybatis有一定的相似~~
当然我主张写sql的方式写数据库
废话不多说:上干货
---------------------------------------------
首先你需要知道dileber是个什么~~看我的博客就可以了 http://blog.csdn.net/s297165331
当然我把文章罗列一下
在后期我会把数据库自动生成代码也放到框架自动生成代码中
-------------------------------------------------
首先如何建立数据库
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数据库框架
更多推荐


所有评论(0)