实现关系映射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代码 关系映射表
网页路径:http://ybzwz.com/article/ddsojoo.html