1.因为支持注释和代码方式生成mapper,所以原来的 parameterMap反对使用,也就是不建议用parameter的顺序支对应"?" 方式的参数。
因为mapper的数据是一个纯xml的,而xml的元素如果没有标记为序列是没有顺序的,所以用
<parameterMap>
<parameter property="p1" .../>
<parameter property="p2" .../>
<parameterMap>
这样的顺序关系对应procedure(?,?)的参数是不可靠的。
所以3.0直接使用#{p1},#{p2,otherAttribute........}这样的命令参数可以直接和map的KEY以及BEAN的属性名称相匹配,所以应该使用
parameterType来指定一个绑定了命名参数的Bean或map.
2.直接看例子:
table: Person
id int(8) auto_increment pk
name varchar(20)
ago int(8)
SessionFactoryConf.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="org.gjt.mm.mysql.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ibatis"/>
<property name="username" value="ibts_root"/>
<property