Mybatis的sql语句操作

取值形式的不同:#{  } :是以预编译的形式,将参数设置到sql语句中;PrepareStatement,防止sql注入

                                ${  }:取出的值直接拼装在sql语句中:会有安全问题

                                 大多数情况下,我们取参数的值都应该去使用#{  };

                                 原生JDBC不支持占位符的地方我们就可以使用${  }进行取值

                                 #{  }:更丰富的地方,规定参数的一些规则:javaType、jdbcType、mode(存储过程)、numericScale、resultMap、TypeHandler、jdbcTypeName、expression(未来支持表达式)

jdbcType通常需要在某种特定的条件下被设置:在我们数据为null的时候,有些数据库可能不能识别mybatis对null的默认设置

Select查询

Mybatis的sql语句操作

 自动映射:1、全局setting设置   autoMappingBehavior默认不是Partial,开启自动映射的功能(唯一要求是列名和javaBean属性名一致)

                            如果autoMappingBehavior设置为null则会自动取消自动映射

                            数据库字段命名规范,POJO属性符合驼峰命名法

                            开启自动驼峰命名规则映射功能,mapUnderscoreToCamelCase=true;

                    2、自定义resultMap,实现高级结果集映射。

 

               

上一篇:mybatis中的ResultMap关联映射


下一篇:Mybatis高级查询之一对一查询的四种方法