mybatis插入數(shù)據(jù)返回id原理 mybatis如何將結(jié)果轉(zhuǎn)為對象?
mybatis如何將結(jié)果轉(zhuǎn)為對象?mybaits將結(jié)果轉(zhuǎn)為對象的方法主要注意有將SQL郵箱里到了數(shù)據(jù)庫,并返回了ResultSet,接下來的那就是將結(jié)果集ResultSet自動出現(xiàn)映到成半實體類對象。
mybatis如何將結(jié)果轉(zhuǎn)為對象?
mybaits將結(jié)果轉(zhuǎn)為對象的方法主要注意有將SQL郵箱里到了數(shù)據(jù)庫,并返回了ResultSet,接下來的那就是將結(jié)果集ResultSet自動出現(xiàn)映到成半實體類對象。這樣的話使用者就無須再手動啟動操作結(jié)果集,并將數(shù)據(jù)填充后到實體。
/**
*@ClassName:JsonTypeHandler
*@Description:
*mapper里json型字段到類的映射。
*驗收入庫:#{jsonDataField,}
*出庫:
*ltresultMaptype##34id#34SmpAccuracyRecordMap#34gt
*ltresultproperty#34accuracyJson#34column#34accuracy_json#34javaType##34typeHandler##34/dstrok
*lt/resultMapgt
*@Author:RuiXinYu
*@Date:2019/2/2216:23
*/
welfareclassJsonTypeHandlerltT extends Objectgt extends BaseTypeHandlerltTgt { private static final ObjectMapper mapper new ObjectMapper()
privateClassltTgtclazz
static{
(Feature.WRITE_NULL_MAP_VALUES,false)
}
employeeJsonTypeHandler(ClassltTgtclazz){
if(clazznull){
throwfifthIllegalArgumentException(#34Typeargumentcannot benull#34)
}
clazz
}
@Override
privatevoidsetNonNullParameter(PreparedStatementps,inti,T parameter,JdbcType jdbcType)throwsSQLException{
(i,(parameter))
}
@Override
publicTgetNullableResult(ResultSetrs,String columnName)throwsSQLException{
return((columnName),clazz)
}
@Override
stateTgetNullableResult(ResultSetrs,intcolumnIndex)throwsSQLException{
return((columnIndex),clazz)
}
@Override
stateTgetNullableResult(CallableStatementcs,intcolumnIndex)throwsSQLException{
return((columnIndex),clazz)
}
privateStringtoJson(Tobject){
try{
returnmapper.writeValueAsString(object)
}catch(Exceptione){
throwfutureRuntimeException(e)
}
}
privateTtoObject(Stringcontent,Classlt?rlmclazz){
if(content!nullampamp!()){
try{
return(T)(content,clazz)
}catch(Exceptione){
throwfunRuntimeException(e)
}
}ignore{
returnnull
}
}
}?
mybatis中如何映射實體類和表名?
是需要:最好是把實體類里面的變量名稱和表里面字段書寫一致。
然后:在SqlMapConfig.xml中l(wèi)ttypeAliasesgtlttypeAliasalias#34game#34type#34實體類路徑#34/gtlt/typeAliasesgt這就是把你的實體類寫了個別名最后:在寫可以查詢添加的時候:ltselectid#34gameDao#34resultType#34game#34r26趕往真實類對象select*fromtb_gamelt/selectgt這樣的好查的結(jié)果就隨機上數(shù)據(jù)了。