怎样不通过框架,将javabean映射到数据库中

怎样不通过框架,将javabean映射到数据库中,第1张

你如何用实体框架,象HIBERNATE这样的ORM的时候,

首先考虑的肯定是BEAN实体类,也就是面向对象编程,面向对象 *** 作数据库了.

但是考虑到关联关系的时候,情况就复杂些了.

比如一对多的情况:

拿博客系统来说吧

一篇文章BLOG,肯定有一个BLOGID,这个BLOGID肯定是唯一的

BLOG(BLOGID,USERID,TITLE,CONTENT,MSGS)(博客ID,用户ID,标题,内容,评论)

现在有人对这个BLOG进行评论

评论MSG(MSGID,USERID,BLOG,MESSAGE)(评论ID,用户ID,博客,评论内容)

这有两个实体类,BLOG和MSG是一对多双向关联关系.

也就是说,根据这个BLOG可以知道这个BLOG下面所有的评论.

而某个MSG,肯定是对某一个BLOG进行评论的.

BLOG里面保存着评论的信息MSGS,MSGS肯定是个集合.

其中MSG里面保存着BLOG的信息.

实体类大概是上面那样.

下面就要建立关联关系的映射了.

一对多的关联关系的映射,主要体现在多的这一端,而多的这一端在数据库中体现就是外键.

也就是说,BLOG类中的MSGS是帖MSG来决定的,而数据库中,BLOG表肯定是没有MSG的任何字段信息.

但是MSG中肯定有BLOG实体类BLOGID.

有时候多个表也可以设计成一个BEAN.看情况设计喽.

建立楼主去研究下HIBERNATE里面的关联关系及其映射,

看实体类和数据库中表的详细情况.

数据库代码当然要重新封装在一个类中,只有这样你才能共用。

比如class DB{

static public void connect() throws SQLException{

//这里连接采用静态方法,应该是危险的,因为static只产生一块内存地址属于共用的,会产生你想访问你已经关闭的数据库连接,也就是说你会遇到无法建立连接的问题。

//另外你的返回类型应该是 Connection,不能为空,否则你得不到返回链接值呀。

.....................你的代码。

}

}

调用的时候要在实现类中实例化这个类:DB db=new DB()然后db.connect() .

实际应用中即在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的 *** 作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只要像平时 *** 作对象一样 *** 作它就可以了。ORM框架就是用于实现ORM技术的程序。常见的ORM框架有:Hibernate、iBATIS、TopLink、Castor JDO、Apache OJB等。

Java中ORM的原理: 先说ORM的实现原理,其实,要实现JavaBean的属性到数据库表的字段的映射,任何ORM框架不外乎是读某个配置文件把JavaBean的属 性和数据库表的字段自动关联起来,当从数据库Query时,自动把字段的值塞进JavaBean的对应属性里,当做INSERT或UPDATE时,自动把 JavaBean的属性值绑定到SQL语句中。

一个简单的映射例子(hibernate),我们定义User对象和数据库中user表之间的关联,user表中只有两列:id和name:

<hibernate-mapping><class name=sample.orm.hibernate.User table=user catalog=test><id name=userID type=java.lang.Integer><column name=id /><generator class=assigned /></id><property name=userName type=java.lang.String><column name=name /></property></class></hibernate-mapping>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10647399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存