java - 创建多对多关系

标签 java database jdbc many-to-many

我需要在我的 userproject 实体之间建立多对多关系。现在他们之间的关系是多对一的。我尝试搜索如何在 JDBC 中执行多对多操作,但找不到任何有用的信息。我知道我需要第三个表来连接它们,但我真的不知道如何为它进行查询,以及我需要哪些额外的类。欢迎任何形式的帮助。到目前为止的代码是:

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 方法在另一个类中用于创建表。

最佳答案

JDBC 不在表之间创建关系,它允许您对数据库执行查询。您的问题与 JDBC 或任何其他从 Java 代码访问关系数据库的方式无关。这只是创建数据库模型的问题。

关系数据库中的多对多关系需要的是要链接的 2 个表之间的关系表。

参见 there了解更多信息

关于java - 创建多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350100/

相关文章:

java - Intellij 相当于 Eclipse syso

java - Android 的 onBackPressed() 方法如何在没有在 MainActivity 中显式调用的情况下被调用?

java - Tomcat MySQL 连接数据源不工作

java - boolean 'if' 语句不起作用

java - 如何在android应用程序中截取状态栏内容的屏幕截图?

mysql - 将总计数单独计入 M 和 F

mysql - #1060 - 重复的列名 'Type' MySql

linux - Windows应用程序是否可以访问Linux中的数据库

java - 如何将 sqlite 用户函数 api 与 HikariCP 一起使用?

java - 使用 Tomcat 上下文资源定义 JDBC 连接 : Hiding connection credentials