Orm——源码library使用

Orm——源码library使用

昨天一口气写了四篇博客,洪荒之力也是用的七七八八了,当然做事要有始有终,今天就给大家讲一下我搭的这个Orm小功能模块怎么使用在项目中。想要看整个框架原理的请依次浏览以下章节:
1、ORM开篇
首先我们看一下library的项目结构:

东西不多,用起来也很简单,需要注意的是:你写自己的DataBaseHelper需要继承library中的BaseDatabaseHelper;你写自己的Application需要继承library中的BaseDao,且记得在清单文件中声明:

我这里直接用的是library中的BaseApplication。
db数据库模块都是大同小异,我就不多说了,我这里重点说下,要是用这个library除了上面两点,你还需要做什么,这个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 + xml,以Student为例:student.orm.xml(如果你不想这么写,可以改library源码,允许你随便改大笑
<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路径需要是全路径。
第三步:建立dao目录,写dao类,这里注意写法就行了:
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();
        }
是不是so easy!!!每一个dao类对应一张表的操作,贴效果图:


到这里Orm部分就结束了,欢迎各位参考指正,如有需要会继续强大、更新。
欢迎下载源码Orm_Reflect_DB


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Flask ORM连接HANA内存数据库的过程与连接其他数据库的过程类似,只需要安装适当的驱动程序和配置Flask应用程序的数据库URI即可。 以下是在Flask中使用ORM连接HANA内存数据库的步骤: 1. 安装HANA Python驱动程序。可以使用SAP官方提供的Python驱动程序或者第三方驱动程序,如pyhdb。 2. 在Flask应用程序中安装ORM库,如SQLAlchemy。 3. 在Flask应用程序中创建数据库URI,格式为: ``` hana://<username>:<password>@<host>:<port>/<database>?schema=<schema> ``` 其中,`<username>`和`<password>`是连接HANA数据库的用户名和密码,`<host>`和`<port>`是HANA数据库的主机和端口,`<database>`是要连接的数据库名称,`<schema>`是要使用的模式名称。 4. 在Flask应用程序中创建ORM对象,并使用数据库URI进行连接: ```python from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'hana://<username>:<password>@<host>:<port>/<database>?schema=<schema>' db = SQLAlchemy(app) ``` 5. 使用ORM对象进行数据库操作,如创建表、插入数据等。 ```python class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) db.create_all() user = User(name='John Doe', email='john.doe@example.com') db.session.add(user) db.session.commit() ``` 以上就是使用Flask ORM连接HANA内存数据库的基本步骤。需要注意的是,由于内存数据库的性质,当应用程序关闭时,数据库中的所有数据都将丢失。因此,内存数据库通常用于测试和开发环境。在生产环境中,应该使用持久性数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值