Mybatis中mapper配置文件的resultMap标签中的子元素id、result、association、collection、discriminator的用法

关于resultMap标签相信大家都是很常用到的,但是如果是对于有相应单独实体类的就没有必要再新建这个标签了,下面是对resultMap下面的标签的用法及解释。

1.id

id的用法对应的是表中的主键字段和实体类中相应属性的关系,property对应的是实体类的属性,column对应的是数据库表的字段;


		 
		 
 		
 		 		           
 

2.result

result的用法是指表中其他键值和实体类中字段的对应关系;


		 
		 
		
 		
 		 		           
 

3.association

association 是将复杂类型的结果封装成其他实体类赋值给当前实体类的属性,当前实体的属性和select的返回值是同一类型的。


		 
		 		
 		
 		 		
 		
 		              
 

 

4.collection

collection是将更复杂的类型包装之后复制给当前实体类的属性,其中ofType是指返回值中的集合的对象实体为Role,javaType是指当前实体类属性为ArrayList集合,select用法和association一样


		 
		 
 		
 		 		      
 		
              
 

对应实体User

public class User implements Serializable {
	
	private Long id;
	private String username;
	private String email;
	private String sex;
	private List roles;  
	
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public List getRoles() {
		return roles;
	}

	public void setRoles(List roles) {
		this.roles = roles;
	}

5.discriminator

discriminator其实优点类似switch语句,就是将discriminator 里面的column属性进行区分,当case相应值时执行case内部操作,javaType为column中键值对应实体属性的类型为String


		 
		 
 		
 		 	
 			      
 	    		
 	    		      
			
						      
					
				      	
			
						 
			
 

以上就是在下的学习心得,如有不妥之处,帮忙指出下,谢谢!

你可能感兴趣的:(Mybatis,mybatis,java,xml)