1.关于参数和结果集
在ibatis,输入的参数对象使用parameterClass或者parameterMap,输入参数只能是一个用paramClass,多个使用parameterMap,输出的结果集使用resultClass和resultMap,结果是一个用resultClass多个使用resultMap。(resultMap:方便javabean属性及字段的映射,调用javabean的setter进行设置值。通常我们不采用resultClass属性进行映射,因为它不具备映射数据库表字段的持久化特性。)
在ibatis中,parameterClass的类型大都是:string,int/对象/hashmap
resultclass/resultMap的类型大都是:对象/hashmap
当parameterClass为string,int时,可用#value#表示或直接用传入的值名表示。
当parameterClass/resultMap的类型是对象时,用#属性#表示。程序会调用javabean的getter方法,获得属性值。
当parameterClass/resultMap的类型是hashmap(Map是key-value结构的)时,那程序会直接通过key来分析取参数。
2.关于sql的内嵌参数(第一次见)
#参数值:数据库中数据类型:内嵌参数#
最后一个为默认值
3.关于#与$的老生常谈
# # : 会把传入的数据加上引号,没有SQL注入问题 , 经常使用
$ $ :会把传入的数据直接放入sql ,某些情况下使用,比如orderby后面,where xx in ()的括号里等