Orm——源碼library使用
第一步:建立bean目錄,寫實體類,這個對於大家應該是家常便飯,我這裏還是以Student舉例:
package pdm.com.ormdatabase.bean;
import java.util.Random;
/**
* Created by pdm on 2016/10/3.
* CSDN :http://write.blog.csdn.net/postlist
* GitHub :https://github.com/flyingfishes
*/
public class Student {
private Integer stuId;
private String stuName;
private String stuClass;
public Student() {
super();
stuName = "name_"+ new Random().nextInt(10000);//隨機取數
stuClass="class_"+new Random().nextInt(10000);
// TODO Auto-generated constructor stub
}
public Student(String stuName, String stuClass) {
super();
this.stuName = stuName;
this.stuClass = stuClass;
}
public Integer getStuId() {
return stuId;
}
public void setStuId(Integer stuId) {
this.stuId = stuId;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public String getStuClass() {
return stuClass;
}
public void setStuClass(String stuClass) {
this.stuClass = stuClass;
}
@Override
public String toString() {
return "Student [stuId=" + stuId + ", stuName=" + stuName
+ ", stuClass=" + stuClass + "]";
}
}
第二步:寫xml映射關係文件:
<orm tablename="students" beanName="pdm.com.ormdatabase.bean.Student"
daoName="pdm.com.ormdatabase.dao.StudentDao">
<!-- 是否自增長identity -->
<key column="_sid" property="stuId" type="java.lang.Integer" identity="true"></key>
<item column="stu_name" property="stuName" type="java.lang.String"></item>
<item column="stu_classname" property="stuClass" type="java.lang.String"></item>
</orm>
這裏的規則,依然是column值對應你數據庫表字段名,property值對應Student中的成員變量名,需要注意beanName和daoName路徑需要是全路徑。public class StudentDao extends BaseDao<Student> {
public StudentDao(BaseDatabaseHelper helper) {
super(helper,Student.class);
// TODO Auto-generated constructor stub
}
public Orm getOrm(){
return super.getOrm();
}
}
做完這三步,我們就可以愉快的使用數據庫的增刪改查了,有沒有使用Gson解析的感覺,就這麼簡單,不管你以後項目怎麼加表,你只要做這三步,我們繼續看如何使用(這裏只貼部分使用代碼,看全部請下載源碼:Orm_Reflect_DB):<span style="white-space:pre"> </span>//初始化dao對象
dao = new StudentDao(BaseDatabaseHelper.getInstance(this));
Student student = new Student();
list = null;
//獲取dao對應的對象映射對象
orm = dao.getOrm();
try {
dao.insert(student); //插入一個Student對象到數據庫
student = new Student();
String where = orm.getKey().getColumn() + "=?"; //修改數據庫的條件字段,所有數據庫字段都可以通過orm對象獲取,不用一個個字段粘貼了吧
String[] args = new String[]{"1"};//條件字段的值
dao.update(student, where, args); //修改主鍵值 = 1的Student
list = dao.selectAll();<span style="white-space:pre"> </span>//查詢所有字段
} catch (Exception e) {
e.printStackTrace();
}
到這裏Orm部分就結束了,歡迎各位參考指正,如有需要會繼續強大、更新。