`

hibernate一对一,一对多,多对一,多对多注解实现案例

 
阅读更多
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.chen</groupId>
  <artifactId>hibernate_demo01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <build/>
  
  <dependencies>
  	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-core</artifactId>
		<version>3.6.10.Final</version>
	</dependency>
	<dependency>
		<groupId>org.javassist</groupId>
		<artifactId>javassist</artifactId>
		<version>3.18.1-GA</version>
	</dependency>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.11</version>
	</dependency>
  	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.34</version>
	</dependency>
	<dependency>
		<groupId>c3p0</groupId>
		<artifactId>c3p0</artifactId>
		<version>0.9.1.2</version>
	</dependency>
  </dependencies>
</project>


hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="show_sql">true</property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
		<property name="hibernate.connection.username">root</property> 
		<property name="hibernate.connection.password">root</property> 
		<property name="hibernate.connection.pool.size">20</property>
		<property name="connection.characterEncoding">utf8</property> 
		<property name="current_session_context_class">thread</property>
		<mapping class="com.chen.pojo.Teacher"/> 
		<mapping class="com.chen.pojo.Course"/> 
		<mapping class="com.chen.pojo.TeacherRelCourse"/>
		        
	</session-factory>
	

</hibernate-configuration>



一对一,方案一使用主从关系,从表id生成依赖主表id
主表
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

@Table(name="t_person")
@Entity
public class Person {
	private Long id ;
	private String name ;
	private Idcard idcard;
	@Id
	@GeneratedValue
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	@OneToOne
	@PrimaryKeyJoinColumn
	public Idcard getIdcard() {
		return idcard;
	}
	public void setIdcard(Idcard idcard) {
		this.idcard = idcard;
	}
	
	
}

从表
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

@Table(name="t_idcard")
@Entity
public class Idcard {
	private Long id ;
	private String name ;
	private Person person ;
	@Id
	@GenericGenerator(name="pkGenerator",strategy="foreign",parameters={@Parameter(name="property",value="person")})
	@GeneratedValue(generator="pkGenerator")
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@OneToOne(targetEntity=Person.class,mappedBy="idcard")
	public Person getPerson() {
		return person;
	}
	public void setPerson(Person person) {
		this.person = person;
	}
	
	
}

测试案例
package com.chen.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.junit.Test;

import com.chen.pojo.Idcard;
import com.chen.pojo.Person;

public class One2OneDemo1 {
	private SessionFactory sessionFactory ;
	
	public One2OneDemo1() {
		if(sessionFactory==null){
			sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
		}
	}
	
	@Test
	public void test1(){
		Session session = sessionFactory.openSession();
		Transaction tr = session.beginTransaction();
		
		
		Idcard idcard = new Idcard();
		idcard.setName("idcard");
		
		Person p = new Person();
		p.setName("chen");
		p.setIdcard(idcard);
		
		idcard.setPerson(p);
		
		session.save(p);
		session.save(idcard);
		tr.commit();
		session.close();
	}

	@Test
	public void test2(){
		Session s = sessionFactory.openSession();
		Transaction tr = s.beginTransaction();
		Person p = (Person) s.get(Person.class, 4L);
		System.out.println(p.getName()+"  "+p.getId()+" "+p.getIdcard().getName());
		tr.commit();
		s.close();
	}
}





一对一 方案二:从表创建一个外键
主表
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Table(name="t_husband")
@Entity
public class Husband {
	private Long id ;
	private String name ;
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

从表
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Table(name="t_wife")
@Entity
public class Wife {
	private Long id ;
	private Husband husband ;
	private String name ;
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@OneToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="h_id")
	public Husband getHusband() {
		return husband;
	}
	public void setHusband(Husband husband) {
		this.husband = husband;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}

测试案例
package com.chen.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.junit.Test;

import com.chen.pojo.Husband;
import com.chen.pojo.Wife;

public class One2OneDemo2 {
private SessionFactory sessionFactory ;
	
	public One2OneDemo2() {
		if(sessionFactory==null){
			sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
		}
	}
	
	@Test
	public void test1(){
		Session s = sessionFactory.openSession();
		Transaction tr = s.beginTransaction();
		Husband h = new Husband();
		h.setName("husband");
		
		Wife w = new Wife();
		w.setName("wife");
		w.setHusband(h);
		
		s.save(h);
		s.save(w);
		tr.commit();
		s.close();
	}
	
	@Test
	public void test2(){
		Session s = sessionFactory.openSession();
		Wife w = (Wife) s.get(Wife.class,1L);
		System.out.println(w.getName()+"  "+w.getHusband().getName());
		s.close();
	}
}




多对一
一
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Table(name="t_temp_department")
@Entity
public class Department {
	private Long id ;
	private String departmentName ;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="department_name")
	public String getDepartmentName() {
		return departmentName;
	}
	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}
	
	
}

多 方表
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Table(name="t_employee")
@Entity
public class Employee {
	private Long id ;
	private String name ;
	private Department department;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@ManyToOne(targetEntity=Department.class)
	public Department getDepartment() {
		return department;
	}
	public void setDepartment(Department department) {
		this.department = department;
	}
	
	
}

测试案例
package com.chen.test;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.junit.Test;

import com.chen.pojo.Department;
import com.chen.pojo.Employee;

public class Many2OneDemo1 {
	private SessionFactory sessionFactory ;
	
	public Many2OneDemo1() {
		if(sessionFactory==null){
			sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
		}
	}
	
	@Test
	public void test1(){
		Session session = sessionFactory.openSession();
		Department department = new Department();
		department.setDepartmentName("department_2");
		
		Employee emp = new Employee();
		emp.setName("emp_2");
		emp.setDepartment(department);
		
		Transaction tr = session.beginTransaction();
		session.save(emp);
		session.save(department);
		tr.commit();
		session.close();
	}
	
	@Test
	public void test2(){
		Session session = sessionFactory.openSession();
		String hql = "from Employee t where t.id=1";
		Query query = session.createQuery(hql);
		List<Employee> list =(List<Employee>)query.list();
		for(Employee e : list){
			System.out.println(e.getName()+"  "+e.getDepartment().getDepartmentName());
		}
		session.close();
	}
	

}




一对多
一

package com.chen.pojo;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Table(name="t_temp_department")
@Entity
public class Department2 {
	private Long id ;
	private String departmentName ;
	private Set<Employee2> emps;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="department_name")
	public String getDepartmentName() {
		return departmentName;
	}
	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}
	
	@OneToMany(targetEntity=Employee2.class)
	@JoinColumn(name="department_id")
	public Set<Employee2> getEmps() {
		return emps;
	}
	public void setEmps(Set<Employee2> emps) {
		this.emps = emps;
	}
	
	
}

多 方表
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Table(name="t_employee")
@Entity
public class Employee2 {
	private Long id ;
	private String name ;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}

测试案例
package com.chen.test;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.junit.Test;

import com.chen.pojo.Department2;

public class One2ManyDemo1 {
	private SessionFactory sessionFactory ;
	
	public One2ManyDemo1() {
		if(sessionFactory==null){
			sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
		}
	}
	@Test
	public void test1(){
		Session session = sessionFactory.openSession();
		String hql = "from Department2 t where t.id=1";
		Query query = session.createQuery(hql);
		List<Department2> list =(List<Department2>)query.list();
		for(Department2 d : list){
			System.out.println(d.getDepartmentName()+"  "+d.getEmps().size());
		}
		session.close();
	}
}



多对多 方案一
package com.chen.pojo;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
@Table(name="t_admin")
@Entity
public class Admin {
	private Long id ;
	private String name ;
	private Set<Role> roles ;
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@ManyToMany(mappedBy="admins")
	public Set<Role> getRoles() {
		return roles;
	}
	public void setRoles(Set<Role> roles) {
		this.roles = roles;
	}
	
	
}


package com.chen.pojo;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
@Table(name="t_role")
@Entity
public class Role {
	private Long id ;
	private String name ;
	private Set<Admin> admins;
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@ManyToMany
	@JoinTable(name="t_role_admin",joinColumns={@JoinColumn(name="r_id")},
		inverseJoinColumns={@JoinColumn(name="a_id")})
	public Set<Admin> getAdmins() {
		return admins;
	}
	public void setAdmins(Set<Admin> admins) {
		this.admins = admins;
	}
	
}

测试案例
package com.chen.test;

import java.util.HashSet;
import java.util.Set;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.junit.Test;

import com.chen.pojo.Admin;
import com.chen.pojo.Role;

public class Many2ManyDemo1 {
	private SessionFactory sessionFactory ;
	
	public Many2ManyDemo1() {
		if(sessionFactory==null){
			sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
		}
	}
	
	@Test
	public void test1(){
		Set<Admin> sets1 = new HashSet<Admin>();
		Set<Admin> sets2 = new HashSet<Admin>();
		Session s = sessionFactory.openSession();
		Transaction tr = s.beginTransaction();
		Admin a1 = new Admin();
		a1.setName("name1");
		sets1.add(a1);
		sets2.add(a1);
		
		Admin a2 = new Admin();
		a2.setName("name2");
		sets2.add(a2);
		
		Role r1 = new Role();
		r1.setName("role1");
		
		Role r2 = new Role();
		r2.setName("role2");
		
		r1.setAdmins(sets1);
		r2.setAdmins(sets2);
		
		s.save(a1);
		s.save(a2);
		s.save(r1);
		s.save(r2);
		
		
		tr.commit();
		s.close();
	}

}



多对多 方案二:分成两个一对多
一表1
package com.chen.pojo;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

@Table(name="t_teacher")
@Entity
public class Teacher {
	private Long id ;
	private String name ;
	private Set<TeacherRelCourse> coursRels;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@OneToMany(mappedBy="teacher")
	@LazyCollection(LazyCollectionOption.EXTRA)
	public Set<TeacherRelCourse> getCoursRels() {
		return coursRels;
	}
	public void setCoursRels(Set<TeacherRelCourse> coursRels) {
		this.coursRels = coursRels;
	}
	
	
}

一表2
package com.chen.pojo;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

@Table(name="t_course")
@Entity
public class Course {
	private Long id ;
	private String name ;
	private Set<TeacherRelCourse> teacherRels;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@OneToMany(mappedBy="course")
	@LazyCollection(LazyCollectionOption.EXTRA)
	public Set<TeacherRelCourse> getTeacherRels() {
		return teacherRels;
	}
	public void setTeacherRels(Set<TeacherRelCourse> teacherRels) {
		this.teacherRels = teacherRels;
	}
	
}

多 方表
package com.chen.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Table(name="t_teacher_course")
@Entity
public class TeacherRelCourse {
	private Long id ;
	private Teacher teacher;
	private Course course;
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	@ManyToOne
	@JoinColumn(name="t_id")
	public Teacher getTeacher() {
		return teacher;
	}
	public void setTeacher(Teacher teacher) {
		this.teacher = teacher;
	}
	@ManyToOne
	@JoinColumn(name="c_id")
	public Course getCourse() {
		return course;
	}
	public void setCourse(Course course) {
		this.course = course;
	}
	
	
}

测试案例
package com.chen.test;

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.classic.Session;
import org.junit.Test;

import com.chen.pojo.Course;
import com.chen.pojo.Teacher;
import com.chen.pojo.TeacherRelCourse;

public class Many2ManyDemo2 {
	private SessionFactory sessionFactory ;
	
	public Many2ManyDemo2() {
		if(sessionFactory==null){
			sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
		}
	}
	
	@Test
	public void test1(){
		Session s = sessionFactory.openSession();
		Transaction tr = s.beginTransaction();
		TeacherRelCourse tc1 = new TeacherRelCourse();
		TeacherRelCourse tc2 = new TeacherRelCourse();
		TeacherRelCourse tc3 = new TeacherRelCourse();
		
		Teacher t1 = new Teacher();
		t1.setName("teacher1");
		tc1.setTeacher(t1);
		
		Teacher t2 = new Teacher();
		t2.setName("teacher2");
		tc2.setTeacher(t2);
		tc3.setTeacher(t2);
		
		Course c1 = new Course();
		c1.setName("course1");
		tc1.setCourse(c1);
		tc2.setCourse(c1);
		
		Course c2 = new Course();
		c2.setName("course2");
		tc3.setCourse(c2);
		
		s.save(t1);
		s.save(t2);
		s.save(c1);
		s.save(c2);
		s.save(tc1);
		s.save(tc2);
		s.save(tc3);
		
		tr.commit();
		s.close();
	}
	
	@Test
	public void test2(){
		Session s = sessionFactory.openSession();
		Teacher t1 = (Teacher)s.get(Teacher.class,1L);
		System.out.println(t1.getName()+" "+t1.getCoursRels().size());
		for(TeacherRelCourse obj : t1.getCoursRels()){
			System.out.println(obj.getCourse().getName());
		}
		
		s.close();
	}
	
	@Test
	public void test3(){
		Session s = sessionFactory.openSession();
		Teacher t1 = (Teacher)s.get(Teacher.class,2L);
		System.out.println(t1.getName()+" "+t1.getCoursRels().size());
		for(TeacherRelCourse obj : t1.getCoursRels()){
			System.out.println(obj.getCourse().getName());
		}
		
		s.close();
	}
}

分享到:
评论

相关推荐

    Hibernate关于注解的一对多,多对多,一对一

    Hibernate关于注解的一对多,多对多,一对一案例。。。。

    hibernate注解案例

    Hibernate 的注解学习 ExportDBAnnotation HibernateAnnotationUtils 【一对一】关系映射【一对多】关系映射 【多对多】关系映射 【composite复合主键】关系映射【component组件】关系映射

    hibernate4.3.8的annotation及xml的一对多的双向案例

    一个完成了hibernate的注解和配置的简单案例;这是一个一对多【多对一】的案例,其实一对多的案例就可以解决项目中的大部分需求。因为多对多可以一般我们转化为两个多对一的案例;

    Hibernate实战(第2版 中文高清版)

     7.2.1 一对多关联   7.2.2 多对多关联   7.2.3 把列添加到联结表   7.2.4 映射map   7.3 多态关联   7.3.1 多态的多对一关联   7.3.2 多态集合   7.3.3 对联合的多态关联   7.3.4 每个具体类一张...

    Struts2 + Spring3 + Hibernate3.5 整合(集成测试配套jar包更新构建脚本使用说明)

    这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 ...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version3).part1

    这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 ...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version2)

    这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 ...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version3).part3

    这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 ...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    基于SSM图书查询借阅网站源码+sql数据库(高分毕设).zip

    4 Mybati数据库DAO层采用的是Mapper代理开发方法,输入映射采用的是POJO包装类型实现,输出映射采用了resultMap类型,实现了数据库多对一映射。 5 spring容器内部使用拦截器,以Spring AOP的方式实现事务控制管理。

    Spring中文帮助文档

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一...

    Spring API

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种...

    Java学习笔记-个人整理的

    {4.3}贪吃蛇案例}{82}{section.4.3} {4.4}散列表与HashMap}{83}{section.4.4} {4.4.1}java.util.HashMap}{83}{subsection.4.4.1} {4.5}\ttfamily java.util.HashSet}{84}{section.4.5} {4.6}泛型}{84}{section....

Global site tag (gtag.js) - Google Analytics