外键:alter table person add constraint fk_person_idcard foreign key(cardid) references idcard(cardid);
    执行底层数据库查询的时候 打印出SQL语句,可以导入log4j.jar,另外需要手动配置一个properties文件,内容如下:
    log4j.rootLogger=debug,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
    log4j.logger.com.ibatis=DEBUG
    log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
    log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
    log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
    log4j.logger.java.sql.Connection=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.PreparedStatement=DEBUG

    //方案一:
    image.png使用方案一会出现N+1问题,造成性能降低
    如果查询的数据 只有主表(Person)的数据 从表(IDCard)暂时没用到,可以做一个延迟机制,提升性能
    通过添加如下配置:

    //方案二:
    image.png
    因为方案二中使用了联合查询,所以查询的时候不会有N+1问题泄漏,不用处理