mybatis插入数据返回id原理 mybatis如何将结果转为对象?
mybatis如何将结果转为对象?
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
*/
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中lttypeAliasesgtlttypeAliasalias#34game#34type#34实体类路径#34/gtlt/typeAliasesgt这就是把你的实体类写了个别名最后:在写可以查询添加的时候:ltselectid#34gameDao#34resultType#34game#34r26赶往真实类对象select*fromtb_gamelt/selectgt这样的好查的结果就随机上数据了。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。