mybaits将结果转为对象的方法主要注意有将sql邮箱里到了数据库,并返回了resultset,接下来的那就是将结果集resultset自动出现映到成半实体类对象。这样的话使用者就无须再手动启动操作结果集,并将数据填充后到实体。
/**
*@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
*/
welfareclassjsontypehandlerlttextendsobjectgtextendsbasetypehandlerlttgt{privatestaticfinalobjectmappermappernewobjectmapper()
privateclasslttgtclazz
static{
(feature.write_null_map_values,false)
}
employeejsontypehandler(classlttgtclazz){
if(clazznull){
throwfifthillegalargumentexception(#34typeargumentcannotbenull#34)
}
clazz
}
@override
privatevoidsetnonnullparameter(preparedstatementps,inti,tparameter,jdbctypejdbctype)throwssqlexception{
(i,(parameter))
}
@override
publictgetnullableresult(resultsetrs,stringcolumnname)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
}
}
}?
是需要:最好是把实体类里面的变量名称和表里面字段书写一致。
然后:在sqlmapconfig.xml中lttypealiasesgtlttypealiasalias#34game#34type#34实体类路径#34/gtlt/typealiasesgt这就是把你的实体类写了个别名最后:在写可以查询添加的时候:ltselectid#34gamedao#34resulttype#34game#34r26赶往真实类对象select*fromtb_gamelt/selectgt这样的好查的结果就随机上数据了。