Bla*_*dor 25 sqlite orm android many-to-many crud
我正在寻找一个非常简单的ORM框架,用于Android上的SQLite.我一直在测试ActiveAndroid,但是没有一个例子能够在Eclipse上构建.
那么,人们如何在SQLite for Android中实现"多对多"关系?您如何反映有关删除行并保证数据库完整性的级联?
Mar*_*ger 11
对于那些仍在寻找ORM解决方案的人,几个月前我发布了greenDAO.Android Market中的多个应用已经使用它.与其他Android ORM工具不同,greenDAO的主要设计目标之一是性能.对于许多操作,它应该比其他解决方案快几倍,例如,与ORMLite相比,加载实体的速度要快4-5倍.
它支持关系.该文档描述了如何使用关系以及如何建模多对多关系.
删除级联是一件危险的事情,因此不受greenDAO的支持.更安全的方法是在事务中自底向上删除实体.
phi*_*ese 10
我自己编写了一个轻量级的ORM,并称之为Androrm.正如我喜欢Django,查询语法看起来很相似.请尝试给我反馈:)
同样在GitHub上:https://github.com/androrm/androrm
以下是我使用SORMA(Android内容提供商解决方案)的方法.
将Java POJO映射到数据库表:
@Table(
name="contact",
keyColumn="id",
autoId=true,
create="create table if not exists contact ("
+ " id INTEGER primary key autoincrement"
+ ", firstName text"
+ ", lastName text"
+ ", married tinyint"
+ ")"
)
public class Contact {
private Integer id;
private String firstName;
private String lastName;
private boolean married;
......
Run Code Online (Sandbox Code Playgroud)创建内容提供者类:
import com.gaoshin.sorma.annotation.ContentProvider;
import com.gaoshin.sorma.annotation.SormaContentProvider;
@ContentProvider(
version = 1,
mappingClasses = {
Contact.class,
Phone.class
}
)
public class AddressBookContentProvider extends SormaContentProvider {
}
Run Code Online (Sandbox Code Playgroud)在AndroidManifest.xml中定义内容提供程序:
<provider
android:authorities="com.gaoshin.sorma.examples.addressbook.AddressBookContentProvider"
android:name="com.gaoshin.sorma.examples.addressbook.AddressBookContentProvider" />
Run Code Online (Sandbox Code Playgroud)使用内容提供商:
sorma = SORMA.getInstance(getBaseContext(), AddressBookContentProvider.class);
// insert contact
Contact contact = new Contact();
contact.setFirstName("fname1");
contact.setLastName("lname1");
sorma.insert(contact);
Run Code Online (Sandbox Code Playgroud)完成!
(你可以在这里找到更多信息.)
归档时间: |
|
查看次数: |
26113 次 |
最近记录: |