创建多对多关系
Create many-to-many relationship
我需要在我的 user
和 project
实体之间建立多对多关系。现在他们之间的关系是多对一的。我尝试在 JDBC
中搜索如何进行多对多操作,但找不到任何有用的信息。我知道我需要第三个 table 用于连接它们,但我真的不知道如何为它进行查询,以及我需要什么额外的 classes。欢迎任何形式的帮助。到目前为止的代码是:
package com.TO;
public class User {
private String login;
private String password;
private String fullName;
private String role;
private String projectKey;
//constructor, setters and getters
}
package com.DAO;
import com.TO.User;
import com.Utills.JDBCUtil;
public class UserDAO {
public static String getTableString(){
String projectTable = "create table user_db ( " +
"login varchar(20) not null, " +
"password varchar(20), " +
"full_name varchar(80), " +
"role varchar(2), " +
"project_key varchar(50), " +
"primary key(login))";
return projectTable;
}
}
package com.TO;
public class Project {
private String key;
private String title;
//constructor, setters and getters
}
package com.DAO;
public class ProjectDAO {
public static String getTableString(){
String projectTable = "create table project ( " +
"project_key varchar(50) not null, " +
"title varchar(50), " +
"primary key(project_key))";
return projectTable;
}
}
PS:getTableString
方法在另一个 class 中用于创建 tables。
JDBC 不会在 table 之间创建关系,它允许您对数据库执行查询。您的问题与 JDBC 或从 java 代码访问关系数据库的任何其他方式无关。这只是创建数据库模型的问题。
关系数据库中的多对多关系需要的是您想要 link.
的 2 table 之间的关系 table
有关详细信息,请参阅 there
创建两个数组列表如何:
在用户和数组列表中实施以保存其所有项目:
ArrayList<Project> elements = new ArrayList<>();
在 Project 中,数组列表包含所有用户:
ArrayList<User> elements = new ArrayList<>();
每当从项目中分配或删除用户时,您都必须更新这些内容。
我需要在我的 user
和 project
实体之间建立多对多关系。现在他们之间的关系是多对一的。我尝试在 JDBC
中搜索如何进行多对多操作,但找不到任何有用的信息。我知道我需要第三个 table 用于连接它们,但我真的不知道如何为它进行查询,以及我需要什么额外的 classes。欢迎任何形式的帮助。到目前为止的代码是:
package com.TO;
public class User {
private String login;
private String password;
private String fullName;
private String role;
private String projectKey;
//constructor, setters and getters
}
package com.DAO;
import com.TO.User;
import com.Utills.JDBCUtil;
public class UserDAO {
public static String getTableString(){
String projectTable = "create table user_db ( " +
"login varchar(20) not null, " +
"password varchar(20), " +
"full_name varchar(80), " +
"role varchar(2), " +
"project_key varchar(50), " +
"primary key(login))";
return projectTable;
}
}
package com.TO;
public class Project {
private String key;
private String title;
//constructor, setters and getters
}
package com.DAO;
public class ProjectDAO {
public static String getTableString(){
String projectTable = "create table project ( " +
"project_key varchar(50) not null, " +
"title varchar(50), " +
"primary key(project_key))";
return projectTable;
}
}
PS:getTableString
方法在另一个 class 中用于创建 tables。
JDBC 不会在 table 之间创建关系,它允许您对数据库执行查询。您的问题与 JDBC 或从 java 代码访问关系数据库的任何其他方式无关。这只是创建数据库模型的问题。
关系数据库中的多对多关系需要的是您想要 link.
的 2 table 之间的关系 table有关详细信息,请参阅 there
创建两个数组列表如何: 在用户和数组列表中实施以保存其所有项目:
ArrayList<Project> elements = new ArrayList<>();
在 Project 中,数组列表包含所有用户:
ArrayList<User> elements = new ArrayList<>();
每当从项目中分配或删除用户时,您都必须更新这些内容。