选择先看一个简单的案例:
& lt; select id=皊electPerson”, parameterType=癷nt”, resultType=癶ashmap”比; SELECT *,才能得到PERSON WHERE ID =, # {id} & lt;/select>
String selectPerson =,“SELECT *,得到PERSON WHERE ID=?”; PreparedStatement ps =, conn.prepareStatement (selectPerson); ps.setInt (id),
<标题> 标题>
选择属性属性
描述id在命名空间中唯一的标识符,可以被用来引用这条语句.parameterType将会传入这条语句的参数类的完全限定名或别名。这个属性是可选的,因为MyBatis可以通过TypeHandler推断出具体传入语句的参数,默认值为unset.resultType从这条语句中返回的期望类型的类的完全限定名或别名。注意如果是集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用resultType或resultMap,但不能同时使用.resultMap外部resultMap的命名引用。结果集的映射是MyBatis最强大的特性,对其有一个很好的理解的话,许多复杂映射的情形都能迎刃而解。使用resultMap或resultType,但不能同时使用.flushCache将其设置为真的,任何时候只要语句被调用,都会导致本地缓存和二级缓存都会被清空,默认值:false.useCache将其设置为真,将会导致本条语句的结果被二级缓存,默认值:对选择元素为true.timeout这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数。默认值为复原(依赖驱动).fetchSize这是尝试影响驱动程序每次批量返回的结果行数和这个设置值相等。默认值为复原(依赖驱动).statementTypeSTATEMENT,准备或可调用的一个。这会让MyBatis分别使用声明,PreparedStatement或CallableStatement,默认值:PREPARED.resultSetTypeFORWARD_ONLY, SCROLL_SENSITIVE或SCROLL_INSENSITIVE中的一个,默认值为复原(依赖驱动).databaseId如果配置了databaseIdProvider, MyBatis会加载所有的不带databaseId或匹配当前databaseId的语句;如果带或者不带的语句都有,则不带的会被忽略.resultOrdered这个设置仅针对嵌套结果选择语句适用:如果为真,就是假设包含了嵌套结果集或是分组了,这样的话当返回一个主结果行的时候,就不会发生有对前面结果集的引用的情况。这就使得在获取嵌套的结果集的时候不至于导致内存不够用。默认值:false.resultSets这个设置仅对多结果集的情况适用,它将列出语句执行后返回的结果集并每个结果集给一个名称,名称是逗号分隔的。选择的模糊查询:
& lt; select id=癵etUserByName”, parameterType=白址?resultType=癱n.itheima.mybatis.po.User”比; ,,,SELECT *,得到“用户”,WHERE username LIKE ' % $ {value} % ' & lt;/select>
插入、更新、删除的属性接近:
useGenerateKeys=" true "和keyProperty=" id "配合使用,表示id是自增长的字段。注意:参数是用户信息中的变量,不是数据库中的字段