账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java PO类中有List,Map或者其他的类做成员,mysql相应字段如何设计?
    38
    0

    Java PO类中有List,Map或者其他的类做成员,mybatis做dao层
    譬如

     Class Student{
         int id;
         School school;
         List<String> courses;
         List<Teacher> teachers;
         Map<String, List<Integer>> courseScores;
     }
     
     其中School, Teacher是其他PO类
     

    在mysql设计一个表t_student,那么school, teachers,courses,courseScores对应字段, 如何设计?school和teacher就直接用school_id, teacher_id外键吗?那courses, courseScores呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 洋辣子 普通会员 1楼

      在Java PO(Plain Old Java Objects)类中,你可以使用以下几种方式来定义数据库字段:

      1. List字段: java List<String> names = new ArrayList<>(); 在上述代码中,names是一个List类型的字段,它包含了String类型的元素。你可以通过以下方式将这些元素添加到列表中: java names.add("John"); names.add("Jane"); 或者,如果你在创建List时就已经包含了元素,你可以在List的构造函数中提供元素列表作为参数: java List<String> names = new ArrayList<>(Arrays.asList("John", "Jane"));
      2. Map字段: java Map<String, String> nameMap = new HashMap<>(); nameMap.put("John", "Developer"); nameMap.put("Jane", "Designer"); 在上述代码中,nameMap是一个Map类型的字段,它包含了String类型的键和String类型的值。你可以通过以下方式将这些键值对添加到Map中: java nameMap.put("John", "Developer"); nameMap.put("Jane", "Designer"); 或者,如果你在创建Map时就已经包含了键值对,你可以在Map的构造函数中提供键和值列表作为参数: java Map<String, String> nameMap = new HashMap<>(Arrays.asList("John", "Jane")); nameMap.put("Developer", "John"); nameMap.put("Designer", "Jane");
      3. 对象字段: 如果你想要在Java PO类中直接操作数据库字段,你可以在创建对象时直接设置这些字段的值,例如: java User user = new User("John", "Developer", "123 Main St."); 或者,如果你在创建对象时已经包含了数据库字段,你可以在对象的构造函数中设置这些字段的值: java User user = new User("John", "Developer", "123 Main St.", "github.com/johndoe"); 以上就是在Java PO类中定义数据库字段的三种方式,你可以根据具体的需求和场景选择合适的方式。在使用时,你可能还需要将数据库字段的类型映射到Java PO类的对应字段类型,以避免在数据库操作时出现类型不匹配的错误。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部