1 /** 2 <select 3 id="selectUser" //与 PersonMapper.java 接口对应的方法 4 parameterType="int" //传入的参数格式 5 resultType="hashmap" //返回的数据类型,当返回多个参数的时候,建议使用 resultMap 6 resultMap="userResultMap" //返回的数据类型,相当于对 resultType="hashmap" 的封装。resultType、resultMap两者只能存在一个 7 parameterMap="deprecated" //已经废弃,现在使用 resultType 和 resultType 8 flushCache="false" //是否清空缓存,默认为false 9 useCache="true" //是否二级缓存,默认值:对 select 元素为 true。 10 timeout="10000" //等待数据库返回请求结果的秒数 11 fetchSize="256" 12 statementType="PREPARED" // STATEMENT,PREPARED 或 CALLABLE 的一个。这会让 MyBatis 分别使用 Statement,PreparedStatement
或 CallableStatement,默认值:PREPARED。 13 ...> 14 15 <insert 16 id="insertUser" 17 parameterType="com.test.model.User" 18 flushCache="true" 19 statementType="PREPARED" 20 timeout="20" 21 keyProperty="" //(仅对 insert 和 update 有用)唯一标记一个属性,MyBatis 会通过 getGeneratedKeys 的返回值或者通过 insert 语句的
selectKey 子元素设置它的键值,默认:unset。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。 22 useGeneratedKeys="" //(仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键
(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段),默认值:false。 23 keyColumn="" //(仅对 insert 和 update 有用)通过生成的键值设置表中的列名,这个设置仅在某些数据库(像 PostgreSQL)是必须的,
当主键列不是表中的第一列的时候需要设置。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。 24 > 25 26 <update 27 id="updateUser" 28 parameterType="com.test.model.User" 29 flushCache="true" 30 statementType="PREPARED" 31 timeout="20"> 32 33 <delete 34 id="deleteUser" 35 parameterType="com.test.model.User" 36 flushCache="true" 37 statementType="PREPARED" 38 timeout="20"> 39 */