- Mybatis XML配置详解


-
接口和XML是通过namespace的值设置为接口的全限定名称来进行关联的。比如:
-
接口中的方法和XML的关联方式是通过 id 属性关联的。


-
<select> : 映射查询语句使用的标签。
-
id : 命名空间中的唯一标识,用来代表这条语句。
-
resultmap :用于设置返回值的类型和映射关系。resultmap标签用于配置java对象的属性和查询结果列的对应关系,通过resultmap中配置的 column和property可以将查询列的值映射到type对象的属性上。
-
#{id}:
Mybatis SQL 中使用预编译参数的一种方式。

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 :将会传入这条语句的参数类的完全限定名或别名。
- parameterMap :这是引用外部 parameterMap 的已经被废弃的方法。使用内联参数映射和 parameterType 属性。
- resultType : 从这条语句中返回的期望类型的类的完全限定名或别名。注意集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用 resultType 或 resultMap,但不能同时使用。
- resultMap : 命名引用外部的 resultMap。返回 map 是 MyBatis 最具力量的特性, 对其有一个很好的理解的话, 许多复杂映射的情形就能被解决了。使用 resultMap 或 resultType,但不能同时使用。
- flushCache : 将其设置为 true,不论语句什么时候被带哦用,都会导致缓存被清空。默认值:false。
- useCache :将其设置为 true, 将会导致本条语句的结果被缓存。默认值: true。
- timeout :这个设置驱动程序等待数据库返回请求结果,并抛出异常时间的最大等待值。默认不设置(驱动自行处理)
- fetchSize :这是暗示驱动程序每次批量返回的结果行数。默认不设置(驱动自行处理)。
- statementType :STA TEMENT,PREPARED 或 CALLABLE 的一种。这会让 MyBatis 使用选择使用 - - - Statement,PreparedStatement 或 CallableStatement。默认值:PREPARED。
- resultSetType :FORWARD_ONLY|SCROLL_SENSITIVE|SCROLL_INSENSITIVE 中的一种。默认是不设置(驱动自行处理)。
3、Insert, Update and Delete
- id 在命名空间中唯一的标识符,可以被用来引用这条语句。
- parameterType 将会传入这条语句的参数类的完全限定名或别名。
- parameterMap 这是引用外部 parameterMap 的已经被废弃的方法。使用内联参数映射和 parameterType 属性。
- flushCache 将其设置为 true,不论语句什么时候被带哦用,都会导致缓存被清空。默认值:false。
- timeout 这个设置驱动程序等待数据库返回请求结果, 并抛出异常时间的最大等待值。默认不设置(驱动自行处理)。
- statementType STA TEMENT,PREPARED 或 CALLABLE 的一种。这会让 MyBatis 使用选择使用 Statement,PreparedStatement 或 CallableStatement。默认值:PREPARED。
- useGeneratedKeys ( 仅 对 insert 有 用 ) 这 会 告 诉 MyBatis 使 用 JDBC 的 getGeneratedKeys 方法来取出由数据(比如:像 MySQL 和 SQL Server 这样的数据库管理系统的自动递增字段)内部生成的主键。默认值:false。
- keyProperty (仅对 insert 有用) 标记一个属性, MyBatis 会通过 getGeneratedKeys 或者通过 insert 语句的 selectKey 子元素设置它的值。默认: 不设置。
- keyColumn (仅对 insert 有用) 标记一个属性, MyBatis 会通过 getGeneratedKeys 或者通过 insert 语句的 selectKey 子元素设置它的值。默认: 不设置。
微信扫码关注java架构,获取Java面试题和架构师相关题目和视频。
网友评论