分享了以下tips: 一、事務(wù)管理 二、xml配置sql代碼段 三、#和$的區(qū)別 四、注意對(duì)、做轉(zhuǎn)義 五、依據(jù)字符串是否為空,動(dòng)態(tài)組織sql語(yǔ)句 六、使用自定義的類型轉(zhuǎn)換器 七、resultMap的復(fù)用 一、事務(wù)管理 用戶執(zhí)行一個(gè)動(dòng)作,后臺(tái)需依次更新多個(gè)表,如果其中有一個(gè)
分享了以下tips:
一、事務(wù)管理
二、xml配置sql代碼段
三、#和$的區(qū)別
四、注意對(duì)<、>做轉(zhuǎn)義
五、依據(jù)字符串是否為空,動(dòng)態(tài)組織sql語(yǔ)句
六、使用自定義的類型轉(zhuǎn)換器
七、resultMap的復(fù)用
SqlSession session = getSqlSession(); int sqlResult = session.insert("insert a table", po); int sqlResult = session.update("update b table", po); //這時(shí),前面的insert和update還沒(méi)真正執(zhí)行 session.commit(); //commit后,db才真正更新 session.close();
from t_comment where refer_type = #{type} and refer_id = #{referId}
…… ……
package test; public class TimeTypeHandler implements TypeHandler{ private final String TIME_TYPE = "yyyy-MM-dd HH:mm:ss"; public long strToLongTime(String dateStr) { if (null == dateStr) return 0L; SimpleDateFormat sdf = new SimpleDateFormat(TIME_TYPE); Date date = new Date(); try { date = sdf.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } if (date == null) return 0L; System.out.println(date); return date.getTime(); } public Long getResult(ResultSet arg0, String arg1) throws SQLException { String datestr = arg0.getString(arg1); return strToLongTime(datestr); } public Long getResult(ResultSet arg0, int arg1) throws SQLException { String datestr = arg0.getString(arg1); return strToLongTime(datestr); } public Long getResult(CallableStatement arg0, int arg1) throws SQLException { String datestr = arg0.getString(arg1); return strToLongTime(datestr); } public void setParameter(PreparedStatement arg0, int arg1, Long arg2, JdbcType arg3) throws SQLException { if (arg2 == null) { arg2 = 0L; } Date date = new Date(arg2); SimpleDateFormat sdf = new SimpleDateFormat(TIME_TYPE); String datetime = sdf.format(date); arg0.setString(arg1, datetime); } }
…… //這里定義了ExpDownloadPo這個(gè)sql查詢結(jié)果,要映射到j(luò)ava bean :test.ExpDownloadPo …… //first_download_time這個(gè)數(shù)據(jù),在賦值到firstDownloadTime時(shí),要轉(zhuǎn)轉(zhuǎn)換,從jdbc的time型,轉(zhuǎn)換成javaType的long型,具體怎么轉(zhuǎn)換,因?yàn)榍懊娴谝稽c(diǎn),定義了 ,因此會(huì)自動(dòng)使用test.TimeTypeHandler這個(gè)轉(zhuǎn)換器
……
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com