linux怎么查看本机内存大小
244
2022-09-24
Hibernate+maven+mysql处理多对多映射
一 代码
1.1项目结构
1.2pom.xml
1.3hibernate.cfg.xml
com.mysql.jdbc.Driver
1.4HibernateUtil
package com.test.utils;/*** @Author yqq* @Date 2021/6/22 0:36* @Version 1.0*/import org.apache.log4j.Logger;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtil { /** ThreadLocal Session Map */ public static final ThreadLocal
1.5Student
package com.test.model;import javax.persistence.*;import java.io.Serializable;import java.util.Date;import java.util.Set;/*** @Author yqq* @Date 2021/6/24 22:37* @Version 1.0*/@Entity@Table(name = "T_STUDENT")@SequenceGenerator(name = "SEQ_STUDENT", sequenceName = "SEQ_STUDENT")public class Student implements Serializable { private static final long serialVersionUID = 2524659555729848644L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "SEQ_STUDENT") @Column(name = "ID", nullable = false, precision = 22, scale = 0) private Long id; @Column(name = "NAME") private String name; @Temporal(TemporalType.DATE) @Column(name = "BIRTHDAY") private Date birthday; @Column(name = "sex") private int sex; @Column(name = "address") private String address; @OneToMany(mappedBy="student",cascade=CascadeType.ALL) private Set
1.6Teacher
package com.test.model;import javax.persistence.*;import java.io.Serializable;import java.util.Date;import java.util.Set;/*** @Author yqq* @Date 2021/6/24 22:38* @Version 1.0*/@Entity@Table(name = "T_TEACHER")@SequenceGenerator(name = "SEQ_TEACHER", sequenceName = "SEQ_TEACHER")public class Teacher implements Serializable { private static final long serialVersionUID = 2297316923535111793L; private Long id; private String name; private int sex; private Set
1.7TeacherStudent
package com.test.model;import javax.persistence.*;import java.io.Serializable;/*** @Author yqq* @Date 2021/6/24 22:39* @Version 1.0*/@Entity@Table(name = "T_TEACHERSTUDENT")@SequenceGenerator(name = "SEQ_TEACHERSTUDENT", sequenceName = "SEQ_TEACHERSTUDENT")public class TeacherStudent implements Serializable { private Long id; private Student student; private Teacher teacher; private String note1; private String note2; @Id @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "SEQ_TEACHERSTUDENT") @Column(name = "ID", nullable = false, precision = 22, scale = 0) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(name = "note11") public String getNote1() { return note1; } public void setNote1(String note1) { this.note1 = note1; } @Column(name = "note22") public String getNote2() { return note2; } public void setNote2(String note2) { this.note2 = note2; } @ManyToOne(cascade=CascadeType.ALL) @JoinColumn(name = "student_id", unique = true) public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } @ManyToOne @JoinColumn(name = "teacher_id", unique = true) public Teacher getTeacher() { return teacher; } public void setTeacher(Teacher teacher) { this.teacher = teacher; }}
1.8ModelTest
@Testpublic void tests(){ Session session = HibernateUtil.getSession(); session.beginTransaction(); Student s = new Student(); s.setName("小猪"); Teacher t = new Teacher(); t.setName("小李"); TeacherStudent ts=new TeacherStudent(); ts.setStudent(s); ts.setTeacher(t); ts.setNote1("以呀呀!!!"); ts.setNote2("哎哎呀"); session.save(s); session.save(t); session.save(ts); session.getTransaction().commit(); HibernateUtil.closeSession();}
二 数据脚本
2.1从表
注意:该表两个外键(student_id,teacher_id)分别指向相应表的IDDROP TABLE IF EXISTS `t_teacherstudent`;CREATE TABLE `t_teacherstudent` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `note11` varchar(255) NOT NULL, `note22` varchar(255) NOT NULL, `student_id` int(11) DEFAULT NULL, `teacher_id` int(11) DEFAULT NULL, PRIMARY KEY (`ID`), KEY `sid` (`student_id`), KEY `tid` (`teacher_id`), CONSTRAINT `sid` FOREIGN KEY (`student_id`) REFERENCES `t_student` (`ID`), CONSTRAINT `tid` FOREIGN KEY (`teacher_id`) REFERENCES `t_teacher` (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
2.2主表1
DROP TABLE IF EXISTS `t_teacher`;CREATE TABLE `t_teacher` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `sex` int(11) DEFAULT NULL, PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
2.3主表2
DROP TABLE IF EXISTS `t_student`;CREATE TABLE `t_student` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `birthday` varchar(255) DEFAULT NULL, `sex` int(255) DEFAULT NULL, `address` varchar(255) DEFAULT NULL, PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~