mybatis插入數(shù)據(jù)返回id原理 mybatis如何將結(jié)果轉(zhuǎn)為對(duì)象?
mybatis如何將結(jié)果轉(zhuǎn)為對(duì)象?mybaits將結(jié)果轉(zhuǎn)為對(duì)象的方法主要注意有將SQL郵箱里到了數(shù)據(jù)庫(kù),并返回了ResultSet,接下來的那就是將結(jié)果集ResultSet自動(dòng)出現(xiàn)映到成半實(shí)體類對(duì)象。
mybatis如何將結(jié)果轉(zhuǎn)為對(duì)象?
mybaits將結(jié)果轉(zhuǎn)為對(duì)象的方法主要注意有將SQL郵箱里到了數(shù)據(jù)庫(kù),并返回了ResultSet,接下來的那就是將結(jié)果集ResultSet自動(dòng)出現(xiàn)映到成半實(shí)體類對(duì)象。這樣的話使用者就無須再手動(dòng)啟動(dòng)操作結(jié)果集,并將數(shù)據(jù)填充后到實(shí)體。
/**
*@ClassName:JsonTypeHandler
*@Description:
*mapper里json型字段到類的映射。
*驗(yàn)收入庫(kù):#{jsonDataField,}
*出庫(kù):
*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中如何映射實(shí)體類和表名?
是需要:最好是把實(shí)體類里面的變量名稱和表里面字段書寫一致。
然后:在SqlMapConfig.xml中l(wèi)ttypeAliasesgtlttypeAliasalias#34game#34type#34實(shí)體類路徑#34/gtlt/typeAliasesgt這就是把你的實(shí)體類寫了個(gè)別名最后:在寫可以查詢添加的時(shí)候:ltselectid#34gameDao#34resultType#34game#34r26趕往真實(shí)類對(duì)象select*fromtb_gamelt/selectgt這樣的好查的結(jié)果就隨機(jī)上數(shù)據(jù)了。