记录第一次部署mybatis

在学了mybatis后想加深一下印象,就把之前的一个项目部署了mybatis框架,部署mybatis框架之后项目以前的操作数据的DBHelp就可以删除了。

然后记录一下部署的时候到网上查的一些细节问题

1.映射文件中的动态sql标签如if、when等使用参数时不需要用#{   }包裹

2.获取参数有两种方式,一种是#{   },相当于PreparedStatement中替换参数的预编译功能,可以防止sql注入,还有一种是${   },它直接将值拼接到指定位置,不会预编译,但是没有加双引号,在根据表名或者列名做判断的时候用到

3.SqlSession的方法中只能添加一个Object类型的参数,所以当我们有很多个参数的时候,一般的解决办法是将参数封装到Map中传入,在映射文件中通过键获取。

4.获取基本数据类型的参数是,获取参数值时参数名可以为任意值,如#{parameter }

5.在动态sql中用参数和基本数据类型做比较时,用的时 == 运算符,但 == 是比较地址,且传入的基本数据类型参数会被自动装箱成对象,一般的解决办法是在基本数据类型后面加  .toString()  方法,可以告诉jvm比较的是值。

6.在sql语句中有些地方可能不可以使用使用使用变量,也就是不可以使用运算符,比如 limit ,这是可以使用 <bind/> 绑定标签,绑定标签可以在查询标签中申明一个变量,该变量的值可以是参数算数运算的结果。

用法<bind name="变量名" value="变量值"></bind>

猜你喜欢

转载自blog.csdn.net/imonkeyi/article/details/102649876