mybatis的8月29日
2024-09-05 15:45:02
一、select查询语句
1.mybatis的映射,jdbc预处理
<select id="selectPerson" parameterType="int" resultType="hashmap">
SELECT * FROM PERSON WHERE ID = #{id}
</select>
这是一个简单的select查询,符号#{id},告诉mybatis创建一个预处理语句参数,通过JDBC,这个参数在SQL拼接中会有一个?来标识,并被传到一个新的预处理语句中,就比如下面的例子。
//JDBC代码,不是mubatis
String selectContent = "SELECT * FROM PERSON WHERE ID=?";
PreparedStatement ps = conn.prepareStatement(selectContent);
ps.setInt(1,id);
这样很多的JDBC预处理在底层实现,帮我们节约了时间。
2.select标签会有很多参数,比如下面:
<select
id="selectPerson"
parameterType="int"
parameterMap="deprecated"
resultType="hashmap"
resultMap="personResultMap"
flushCache="false"
useCache="true"
timeout="10000"
fetchSize="256"
statementType="PREPARED"
resultSetType="FORWARD_ONLY">
id:唯一标识符,用来引用这条语句。
parameterType:将传入这条语句的参数的完全限定名或者别名,这个属性是可选的,typeHandler可以推断出具体的语句参数,默认值为unset。
resultType:返回期望类型的类完全限定名或者别名,如果是集合的时候,是集合中的类型,而不是集合本身。resultMap和resultType不可同时使用
resultMap:外部resultMap使用,定义了一个resultMap标签,在其他地方可以使用这个标签
flushCache:为true,只要一调用,二级缓存和本地的缓存(一级缓存)都会被清空,默认为false
useCache:设置为true,将会导致这条语句的结果被二级缓存
timeout:抛出异常之前,等待数据库返回结果的秒数
fetchSize:这是尝试影响驱动程序每次批量返回的结果行数和这个设置值相等
最新文章
- postgresql 基本语法
- hrbrid需要做的
- Android驱动开发之Hello实例
- Undefined symbols for architecture x86_64: ( linker command failed with exit code 1)
- 每日英语:A Whiff Of &#39;Welcome Home&#39;
- java_final
- hdoj 5249 KPI(treap)
- java多线程(同步和死锁,生产者和消费者问题)
- 冒泡排序最佳情况的时间复杂度,为什么是O(n)
- 中小型公司数据仓库搭建——以mysql为例
- 动态绑定DropDownList
- Springboot 系列(七)Spring Boot web 开发之异常错误处理机制剖析
- 【安全性测试】一个简单地绕前端暴XSS漏洞
- re正则表达式-1
- 目标检测(一)RCNN--Rich feature hierarchies for accurate object detection and semantic segmentation(v5)
- 设计模式之Flyweight(享元)(转)
- hotel管理
- 在微信小程序中引入 Iconfont 阿里巴巴图标库
- [转]OpenMP 入门指南
- TX2平台CAN总线收发功能的测试