外键: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
//方案一:
使用方案一会出现N+1问题,造成性能降低
如果查询的数据 只有主表(Person)的数据 从表(IDCard)暂时没用到,可以做一个延迟机制,提升性能
通过添加如下配置:
//方案二:
因为方案二中使用了联合查询,所以查询的时候不会有N+1问题泄漏,不用处理
