如何使用IDroid ORM框架访问Sqlite数据库



如何从IDroid Framework在Sqlite数据库上创建表,插入记录,更新记录,删除记录,查询记录。

确保 build.gradle 文件中包含所有这些依赖项:

implementation 'com.hadoopz:IConveyor:1.0.4'
implementation 'com.hadoopz:ITools:1.0.33'
implementation 'com.hadoopz:IProtocol:1.0.59'

添加所需的所有类:

import com.mycomm.IProtocol.sql.annotation.MyColumn;
import com.mycomm.IProtocol.sql.annotation.MyId;
import com.mycomm.IProtocol.sql.annotation.MyTable;
import com.hadoopz.MyDroidLib.orm.core.session.SerenaSession;
import com.hadoopz.MyDroidLib.orm.dao.DaoBoss;
import com.mycomm.IProtocol.beans.MySqlCharSet;
import com.mycomm.IProtocol.sql.MySqlEngine;
import com.mycomm.IProtocol.sql.annotation.UniversalDBColumType;

创建一个 java 类作为 sqlite 数据库表的指示符,如下所示:

@MyTable(tableCharset = MySqlCharSet.TableCharSetUTF8,tableEngine = MySqlEngine.EngineInnoDB)
class UserTable{
@MyId
private long userId;
@MyColumn(ColumnType = UniversalDBColumType.DBColumString)
private String userEmail;
@MyColumn(ColumnType = UniversalDBColumType.DBColumString)
private String userPassword;
@MyColumn(ColumnType = UniversalDBColumType.DBColumInt)
private int age;
@MyColumn(ColumnType = UniversalDBColumType.DBColumLong)
private long dateOfBirth;
public UserTable() {//make sure you have a default constructor
}
public long getUserId() {
return userId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public long getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(long dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
} 

添加测试方法以与 Sqlite 数据库通信:

private void DAOTest(){
SerenaSession session = DaoBoss.getSqliteSession(getApplicationContext());
session.checkTableExist(UserTable.class);//if the table does not exist ,then create the table automatically
UserTable user = new UserTable();
user.setUserEmail("294356967@qq.com");
user.setUserPassword("myStrongPassword");
user.setAge(100);
session.save(user);//save user into database,then you will see this record in sqllite db file
user.setUserId(1);
user.setAge(120);
session.update(user);//change the age to 120 when userId = 1(all other fields keep the same value)
Object new_user = session.find(UserTable.class,1L); //find the record when recordid=1
if(new_user instanceof UserTable){
UserTable usr_ =  (UserTable)new_user;
System.out.println("the user is:"+usr_);
}
session.delete(UserTable.class,1L);//delete the record from table when record id=1
}

最新更新