信息介绍
怎么入门Java开发行业?MyBatis学习误区有哪些?MyBatis是一款**的持久层框架,它支持定制化SQL、存储过程以及**映射。很多同学在学习MyBatis时一不小心就会犯错,比如在MyBatis/Ibatis中#和$的区别、#方式能够很大程度防止SQL注入、$方式无法防止SQLl注入等。接下来就给大家讲解MyBatis注意事项。
1、sum()和count()使用场景不对导致出错
count()、count(1)、count(0)就是指**的行数,哪怕某行所有字段全部为null也会计算在内。count(1)和count()相比,innodb来说count(*)效率低。
如果count(列名)查询出来的结果就是查出列名中不为null的行数;
sum(列名)对指定列名进行求和
MyBatis把int类型的0处理成空串’’和mysql处理空串’’为0的问题,在Mybatis的Mapper中整数类型条件该如何判断?
当数据库字段类型是整数,如果参数变量为空字符串或者NULL,Mybatis会自动将参数赋值0,所以如果要判断整数参数的多种状态在传递数值到Mapper之前就要判断是否为空字符串和NULL并将相应的状态数值赋值给该参数,否则参数值等于空字符串、NULL和0得到的结果是一样的。
一般情况下,涉及到int类型的操作的时候,在Service中会统一把数字类型先变成字符串类型,然后再传递到Mapper中操作。
2、多参数的使用
MyBatis的查询或者更新中,如果需要多个参数有如下几种办法:
对象映射,建立一个Java对象,并作为接口的参数,对象的属性可以直接使用#{属性名}的方式访问;
Map, 参数为一个Map, key对于属性名,value对于参数值,这个方法就是传参数是需要建立一个Map的临时对象;
@param参数注解,在接口方法参数前加入参数名称注解,这样就可以直接在Mapper中通过参数名访问;
通过序号访问,**个参数#{0}或#{param1}, 第二个参数#{1}, #{param2}
MyBatis中时间字段的使用�C返回;
时间字段的返回可采用放回字符串的方式:
date_format(update_time, ‘%Y-%c-%d %H:%i:%s’) updatetime
采用MySQL的时间格式化方法。
或者放回Timestamp类型的数据,要求放回对象属性参数为Timestamp。
3、用XML注释取代SQL注释
MyBatis中原SQL的注释尽量不要保留,注释会引发一些问题,如果需要使用注释,可以在XML中用来注释,保证在生成的SQL中不会存在SQL注释,从而降低问题出现的可能性。这样做还有一个好处,就是在IDE中可以很清楚的区分注释与SQL。
想要了解更多MyBatis学习误区,可以选择专业学习一下,让自己更快更好的学习入门Java开发,现在正是好时机。
欢迎具体了解:郑州Java培训机构http://zz.mobiletrain.org/java/
1、sum()和count()使用场景不对导致出错
count()、count(1)、count(0)就是指**的行数,哪怕某行所有字段全部为null也会计算在内。count(1)和count()相比,innodb来说count(*)效率低。
如果count(列名)查询出来的结果就是查出列名中不为null的行数;
sum(列名)对指定列名进行求和
MyBatis把int类型的0处理成空串’’和mysql处理空串’’为0的问题,在Mybatis的Mapper中整数类型条件该如何判断?
当数据库字段类型是整数,如果参数变量为空字符串或者NULL,Mybatis会自动将参数赋值0,所以如果要判断整数参数的多种状态在传递数值到Mapper之前就要判断是否为空字符串和NULL并将相应的状态数值赋值给该参数,否则参数值等于空字符串、NULL和0得到的结果是一样的。
一般情况下,涉及到int类型的操作的时候,在Service中会统一把数字类型先变成字符串类型,然后再传递到Mapper中操作。
2、多参数的使用
MyBatis的查询或者更新中,如果需要多个参数有如下几种办法:
对象映射,建立一个Java对象,并作为接口的参数,对象的属性可以直接使用#{属性名}的方式访问;
Map, 参数为一个Map, key对于属性名,value对于参数值,这个方法就是传参数是需要建立一个Map的临时对象;
@param参数注解,在接口方法参数前加入参数名称注解,这样就可以直接在Mapper中通过参数名访问;
通过序号访问,**个参数#{0}或#{param1}, 第二个参数#{1}, #{param2}
MyBatis中时间字段的使用�C返回;
时间字段的返回可采用放回字符串的方式:
date_format(update_time, ‘%Y-%c-%d %H:%i:%s’) updatetime
采用MySQL的时间格式化方法。
或者放回Timestamp类型的数据,要求放回对象属性参数为Timestamp。
3、用XML注释取代SQL注释
MyBatis中原SQL的注释尽量不要保留,注释会引发一些问题,如果需要使用注释,可以在XML中用来注释,保证在生成的SQL中不会存在SQL注释,从而降低问题出现的可能性。这样做还有一个好处,就是在IDE中可以很清楚的区分注释与SQL。
想要了解更多MyBatis学习误区,可以选择专业学习一下,让自己更快更好的学习入门Java开发,现在正是好时机。
欢迎具体了解:郑州Java培训机构http://zz.mobiletrain.org/java/
联系方式
0371-55191750
温馨提示
1、信息由网友自行发布,平台仅提供信息展示服务,请主动核实信息真实性,避免上当!
2、如发现虚假、违规信息?点此举报
2、如发现虚假、违规信息?点此举报
发布供求信息
最新供求
推荐供求
热门供求
热
半潜钻井平台升降避雷针 75米升降避雷塔 加高透波材质
热
80米升降避雷塔 移动雷达站伸缩式避雷针 可远程升降
热
应急移动雷达塔 5米玻璃钢接闪杆 CMCE电场补偿器避雷针
热
海岛雷达塔玻璃钢接闪杆 耐腐蚀玻璃纤维灯杆监控杆 场变放电避雷针
热
通信站玻璃纤维避雷针 12米透波玻璃钢监控立杆 各天气条件下可用
热
风景区15米玻璃钢避雷针 防侧击玻璃纤维监控杆 绝缘天线杆
热
浔阳区十里大道空调安装,步红花园空调维修,空调不制冷加氟
热
12米玻璃钢FRP灯杆 复合材料非金属监控杆 玻璃纤维复合监控杆
热
ISO 50001证书:你的能源管理指南
热
微波通讯站高透波避雷针 机场易折型接闪杆 古树轻质避雷针