Mybatis的常用技术

一、主键自增如何获取主键

1.selectkey的使用

order="BEFORE"  在插入之前查询主键。

  
    
      SELECT SEQ_TB_ID.NEXTVAL FROM DUAL
    
    insert into table(ID, ...) values (#{id,jdbcType=DECIMAL}, ...)
  

order="AFTER"     在插入之后查询主键。

  
    
      SELECT SEQ_TB_ID.CURRVAL FROM DUAL
    
    insert into table(ID, ...) values (SEQ_TB_ID.NEXTVAL, ...)
  

2.useGeneratedKeys的使用(类似:MySql)


        insert into person(....) values(....)
 

二、多对一,association的使用。

先看物理模型好理解:

user -> account ->org

一个用户可以有多个账号,一个账号可以在多个组织下使用。从账号的角度看:可能多个账号对应一个用户(多对一),

一个账号可能对应多个组织(一对多)。

public class AccountVo {

	private Integer id;//账号ID

	private String password;//账号密码

	private Integer userId;//用户ID
	
	private User user;//账号的对应的用户
	
	private List orgs;//该账号可以在那些组织下使用
}

public class User {
    private Integer id;//用户ID

    private String name;//用户名

    private String iphone;//用户联系方式

    private String sex;//用户性别
}
public class Org {
    private Integer id;//组织ID

    private String name;//组织名
}

非触发式式查询:对查询结果进行解析,封装。

    
		
		
		
		
		
		
			
			
			
			
		
		
	


    

触发式式查询:

    
		
		
		
		
		
	
    
    

    

三、一对多,collection的使用

非触发式式查询:

    
		
		
		
		
		
		
		
			
			
		
	
	
	

触发式式查询:


		
		
		
		

		
		
	


	

	

 

你可能感兴趣的:(JAVA,mybatis)