实现关系映射java代码 关系映射表

JDBC实现JAVA应用关联关系问题

Hibernate的底层就是JDBC,里面处理关系映射很方便,如果用JDBC实现就要写N长的代码,而在Hibernate中一句话就实现了,如果使用数据库,关联关系是必不可少的,无论是一对一,一对多还是多对多的

为洪湖等地区用户提供了全套网页设计制作服务,及洪湖网站建设行业解决方案。主营业务为网站设计制作、网站建设、洪湖网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

jaVa中多对多关系的代码问题

你在Hobby和Person之间徘徊,造成一个死循环了,我觉你不应该是这样映射,这样会好麻烦的

package association;

import java.util.*;

public class Hobby {

/* Hobby类的属性hobbyname,一个vector型的persons */

private String hobbyname;

private Vector persons = new Vector();

/* 构造函数 */

public Hobby(String hobbyname, Person person) {

this.hobbyname = hobbyname;

persons.add(person);

/**

* 一个业余爱好可以对应多个人,但只对应一次

*/

if (!persons.contains(person))

person.addHobby(hobbyname);

}

/* 得到hobbyname */

public String getHobbyname() {

return hobbyname;

}

/* 一个hobby可以有多个person,添加person的方法 */

public void addPerson(String personname, int age) {

persons.add(new Person(personname, age));

}

/* 输出hobbyname,并将有hobbyname的人名全部输出 */

public String toString() {

String s = "hobbyname:" + hobbyname + "\n";

s += " persons:";

Object[] o = persons.toArray();

Person[] p = new Person[o.length];

for (int i = 0; i p.length; i++) {

p[i] = (Person) o[i];

s += p[i].getPersonname() + " " + p[i].getAge() + "; ";

}

return s;

}

/* 用于测试的主函数 */

public static void main(String arg[]) throws Exception {

Person p1 = new Person("mary", 20);

p1.addHobby("Biking");

Hobby h2 = new Hobby("Swimming", p1);

String s = p1.toString() + "\n";

s += h2.toString() + "\n";

System.out.print(s);

}

}

class Person {

/* person类的属性personname,age和一个vector型的hobbies */

private String personname;

private int age;

private Vector hobbies = new Vector();

/* 构造函数 */

public Person(String personname, int age) {

this.age = age;

this.personname = personname;

}

/* 得到personname */

public String getPersonname() {

return personname;

}

/* 得到age */

public int getAge() {

return age;

}

/* 添加hobby的方法 */

public void addHobby(String hobbyname) {

hobbies.add(new Hobby(hobbyname, this));

}

/* 输出person,并将其爱好全部输出 */

public String toString() {

String s = "personname:" + personname + "\n";

s += " hobbies:";

Object[] o = hobbies.toArray();

Hobby[] h = new Hobby[o.length];

for (int i = 0; i h.length; i++) {

h[i] = (Hobby) o[i];

s += h[i].getHobbyname() + " ";

}

return s;

}

}

java两个实体对象有映射关系,则怎么用反射把一个对象的数据拿到,赋给另一个对象?

这个没什么复杂的,你的核心意思是需要对二个对象的实例进行copy动作,做法如下:

1、对第一个类进行反射获取属性的值

2、对第二个类进行反射设置属性的值(将1中的值设入,采用配置文件进行关系映射)

建议你看下java反射机制,不用太理解他的含义,了解怎么用就可以,百度一下“java反射代码”。

下面2个网站可以看看:

请问java高手,mybatis的父子关系是如何映射的?

mybatis有两种关联映射方式,一种是结果集映射,一种是子查询映射。

子查询映射

!-- 一对一映射,upersign便是getBySingleSign方法的入参 --

association property="parentmenu" column="upersign" select="sys.mapper.FuncMapper.getBySingleSign"/

!-- 一对多映射 --

collection property="menus" ofType="java.util.List" select="sys.mapper.RoleMapper.searchMenu" column="SR_FUNCURL"/

结果集映射

!-- 一对一映射,property="roleDTO"是对象中的属性为"roleDTO", javaType="roleDTO"是对象的别名叫"roleDTO"与前面同名的没有任何关系,resultMap="roleDTOMap.roleResultMap"是对象RoleDTO的结果集映射规则

--

association property="roleDTO" column="sr_id" javaType="roleDTO" resultMap="roleDTOMap.roleResultMap" /

新闻名称:实现关系映射java代码 关系映射表
网址分享:https://www.cdcxhl.com/article0/ddsojoo.html

成都网站建设公司_创新互联,为您提供全网营销推广定制网站手机网站建设面包屑导航云服务器用户体验

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化