1.try-catch-finally中,如果在catch中return了,finally中的代码还会执行么,原理是什么?
代码执行到catch时 发现finally中还有需要执行的代码 所以会执行一次finally中的代码 然后再回来执行一次catch
但是 如果finally中有return方法的话,就会直接执行完finally后不执行catch
2.常见的异常类有哪些?
程序遇到了空指针,指定类不存在,数学运算异常,数组下标越界,方法的参数错误,没有访问权限,操作数据库异常
3.几种常见的mybatis分页实现
首先返回结果,就不能再使用LIst。需要一个自定义对象
package com.xxx.mybatis.bean;
import java.util.List;
public class Pager<T> {
private int page;//分页起始页
private int size;//每页记录数
private List<T> rows;//返回的记录集合
private long total;//总记录条数
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
}
limit关键字实现
interceptor plugin实现
PageHelper实现
4.mybatis 逻辑分页和物理分页的区别是什么?
逻辑分页就是mybaits自带的分页RowBounds 相比之下,内存开销比较大再在数据量比较小的情况下效率比物理分页高,在数据量很大的情况下,内存开销过大,容易内存溢出,不建议使用
物理分页就是mubaits自写的sql或者通过分页插件PageHelper相比之下,内存开销比较小,在数量比较小的情况下效率比逻辑分页效率低在数据量很大的情况下,建议使用物理分页
5…mybatis 是否支持延迟加载?延迟加载的原理是什么?
支持延迟加载