MyBatis----查詢排序
阿新 • • 發佈:2018-12-12
一、英文字母排序
注意解決方案是使用$不能使用#
<select id="selectOrderByClomn" parameterType="String" resultType="user">
select * from smbms_user order by ${value}
</select>
void testSelectOrderByClomn() throws Exception { SqlSession session = MyBatisUtils.getSession(); //5 使用Mapper介面繫結的方式實現資料操作 UserDAO userDAO = session.getMapper(UserDAO.class); List<User> userList = userDAO.selectOrderByClomn("userCode"); for(User user : userList) { System.out.println(user.getUserCode()+"\t"+user.getUserName()); } MyBatisUtils.closeSession(session); }
二、中文的排序查詢
使用了SQL語句中的字元轉換函式 CONVERT 將字元型別轉換為gbk 編碼 (備註:如果gbk 還是沒有反應的話 可以嘗試utf8編碼)
<select id="selectOrderByClomn" parameterType="String" resultType="user">
select * from smbms_user order by CONVERT(${value} using gbk)
</select>
void testSelectOrderByClomn() throws Exception { SqlSession session = MyBatisUtils.getSession(); //5 使用Mapper介面繫結的方式實現資料操作 UserDAO userDAO = session.getMapper(UserDAO.class); List<User> userList = userDAO.selectOrderByClomn("userName"); for(User user : userList) { System.out.println(user.getUserCode()+"\t"+user.getUserName()); } MyBatisUtils.closeSession(session); }