Android 的 ORM 框架 XAndrDB

码农软件 · 软件分类 · ORM/持久层框架 · 2019-09-23 11:11:56

软件介绍

安卓上一个开源的ORM 数据库操作框架,安卓端的MyBatis.

AndrDB

关于编写这个框架的初衷,为的就是能在安卓中使用对象一样操作数据库, 但是一想操作数据库SQLite使用起来这么麻烦。所以结合以前的经验再加上阅读mybatis的源码。 自己写了一个'安卓端的mybatis'

使用说明:

在使用本框架之前首先 将本项目根目录下的XAndrDB.jar引入到你的项目中,然后。 在你的app的AndroidManifest.xml中配置:

<application
android:name="com.xcode.xandrdb.Session.SessionApplication"
……
>

这时候就该考虑使用问题了。

不多说,直接贴代码:

package com.xcode.xandrdb.mapper;

import com.xcode.xandrdb.User;
import com.xcode.xandrdb.annotation.Create;
import com.xcode.xandrdb.annotation.Delete;
import com.xcode.xandrdb.annotation.Insert;
import com.xcode.xandrdb.annotation.Select;
import com.xcode.xandrdb.annotation.Update;
import com.xcode.xandrdb.annotation.name;

public interface test
{
    //插入的操作
    @Insert("INSERT INTO xiaolei ('sname', 'snumber') VALUES ('xiaolei', 'xiaolei')")
    public String insert();

    //删除操作
    @Delete("delete from xiaolei where id = #{id}")
    public String delete(@name("id")int id);

    //更新操作
    @Update("UPDATE xiaolei SET sname='xiaolei2', snumber='xiaolei2' WHERE (_id=#{id})")
    public String update(@name("id")int id);

    //查询操作
    @Select("SELECT * FROM xiaolei WHERE _id = #{id}")
    public User[] select(@name("id")int id);

    //新建操作
    @Create("create table #{user.name}(_id integer primary key autoincrement,sname text,snumber text)")
    public String create(@name("user")User user);
}

这里只是定义了一系列的数据库操作action的Mapper。那我们看看怎么使用这些Mapper:

Session session = SessionFactory.getSession(new SessionConfig().setDBName("xiaolei"));
test t1 = session.getMapper(test.class);
User users[] = t1.select(1);
System.out.println(users);

是的,所有的数据库操作都必须使用Session对象,去操作。然后使用Session对象拿到mapper,内部通过动态代理操作返回你一个mapper对象,然后你操作你的mapper里面定义的方法就是在操作数据库了。

这是一个完全面向切面,使用 自定义注解+反射+动态代理 结合在一起发挥强大功能的数据库框架。

本文地址:https://codercto.com/soft/d/15217.html

挑战编程技能

挑战编程技能

Brian P. Hogan / 臧秀涛 / 人民邮电出版社 / 2017-2 / 39.00元

新手程序员在具备了理论基础后,面对实际项目时,往往不知道如何解决问题;有经验的程序员在学习了一门新语言后,也会有很多不知道如何使用的特性。针对程序员的这一普遍困惑,资深软件工程师Brian P. Hogan在这本书中总结了57道练习题,教他们如何锤炼技能。这些练习题的难度会逐渐增加,使得编程训练充满挑战又乐趣多多。一起来看看 《挑战编程技能》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具