本文共 1940 字,大约阅读时间需要 6 分钟。
公司系统集成了mybatisplus,其中给封装好了很多方法,很多人包括我平常只知道怎么去使用却很少关注其实现原理,今天闲着没事(偷偷摸鱼)的时候点开了mybatisplus的源码,找到了其中的一个方法。
private String resource;//mapper配置文件名,如:UserMapper.xml private Configuration configuration;//全局配置 private String id;//节点的id属性加命名空间,如:com.lucky.mybatis.dao.UserMapper.selectByExample private Integer fetchSize; private Integer timeout;//超时时间 private StatementType statementType;//操作SQL的对象的类型 private ResultSetType resultSetType;//结果类型 private SqlSource sqlSource;//sql语句 private Cache cache;//缓存 private ParameterMap parameterMap; private ListresultMaps; private boolean flushCacheRequired; private boolean useCache;//是否使用缓存,默认为true private boolean resultOrdered;//结果是否排序 private SqlCommandType sqlCommandType;//sql语句的类型,如select、update、delete、insert private KeyGenerator keyGenerator; private String[] keyProperties; private String[] keyColumns; private boolean hasNestedResultMaps; private String databaseId;//数据库ID private Log statementLog; private LanguageDriver lang; private String[] resultSets;
其中StatementType指操作SQL对象的类型,是个枚举类型,值分别为:
STATEMENT(直接操作SQL,不进行预编译),
PREPARED(预处理参数,进行预编译,获取数据),
CALLABLE(执行存储过程)
ResultSetType指返回结果集的类型,也是个枚举类型,值分别为:
FORWARD_ONLY:结果集的游标只能向下滚动
SCROLL_INSENSITIVE:结果集的游标可以上下移动,当数据库变化时当前结果集不变
SCROLL_SENSITIVE:结果集客自由滚动,数据库变化时当前结果集同步改变;
转载地址:http://xbju.baihongyu.com/