mybatis细节

1.映射文件中的#{}和${} <1>#{}如同jdbc的预编译一样,数据库端已经将其编译成对应的sql语句,只是在传入任何数据都只是将其当做参数使用,不会改变sql语句,很大程度上防止了sql注入,在使用#{}时,里面必须用一些字符例:#{a},具体原理没有深入研究 <2>${}属于java阶段的sql拼接,并不是预编译,在使用时需注意,如果直接写成${abc},则默认调用你在后面传入的参数的getAbc()方法即获取abc字段的值,如果想要直接使用传入的参数则要使用${value} 2.parameterType和resultType parameterType:指定输入参数类型,mybatis通过ognl从输入对象中获取参数值拼接在sql中。 resultType:指定输出结果类型,mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。如果有多条数据,则分别进行映射,并把对象放到容器List中 3. selectOne和selectList selectOne是查询一条记录,如果结果有多条记录则会抛出异常 selectList可以查询一条或多条记录 后续多用多添加

mybatis细节

相关推荐