记录MySQL使用过程中的问题以及解决方法
Mysql的varchar的排序
有时候需要对varchar类型进行排序,则会失效,因为没有对varchar类型进行排序的操作,需要进行类型的转换即转换为int类型如下:
1
2
3
4
5
6SELECT
*
FROM
table
ORDER BY (code+0) DESC
也可以使用Mysql的类型转换函数:CAST、CONVERT,函数可用来获取一个类型的值,并产生另一个类型的值。
1 | CAST(value as type); |
这两函数的转换的类型是有限制的,可以使用以下值的其中一个
1 | 二进制,同带binary前缀的效果 : BINARY |
mybatis中传入String类型参数的问题
按照名称去查询,传入的是一个String类型的参数,查询的时候回出现错误
1 | There is no getter for property named 'name' in 'class java.lang.String'。 |
原始的代码展示:
Dao层为
1 | /** |
Xml层
1 | <select id="getName" resultType="String"> |
错误原因:MyBatis不能解析String类型的参数,
解决的方法:在Dao层中给方法的参数添加@Param注解
修改后的Dao层
1 | /** |
注意的是@Param(“name”)的参数必须和xml的参数要一致