SpringBoot+MyBatis动态建表+动态生成基于模板Mapper

阅读: 评论:0

2024年2月5日发(作者:)

SpringBoot+MyBatis动态建表+动态生成基于模板Mapper

SqlTableObject obj = new SqlTableObject(); leFactory(factory); getClass(clazz); String tableName = ""; String preIndex = ""; if (tationPresent()) { Entity annotation = (Entity) otation(); tableName = (); preIndex = (); } else if (tationPresent()) { AssociateEntity annotation = (AssociateEntity) otation(); tableName = (); preIndex = (); } tableName = y(tableName) ? preIndex + formatTableName(pleName()) : tableName; leName(tableName); // 配置字段 List fields = new ArrayList<>(); getAllDeclareFields(clazz, fields); setTableColumns(obj, fields); return obj; } /** * 设置表格字段 * * @param obj * @param fields */ private static void setTableColumns(SqlTableObject obj, List fields) { List<> columnList = new ArrayList<>(); for (Field field : fields) { if (leFactory().getColumnType().containsKey(e())) { column = new (); if (tationPresent()) { maryKey(true); if (tationPresent()) { GeneratedValue annotation = otation(); if (gy().equals()) { oIncrement(true); } } } if (tationPresent()) { Column annotation = otation(); if (!y(())) { e(()); } else { e(formatTableName(e())); } if (!y(Definition())) { e(Definition()); } else { e(leFactory().getColumnType().get(e())); } gth(()); que(()); lable(le()); } else { e(formatTableName(e())); e(leFactory().getColumnType().get(e())); }

(getClass().getSimpleName(), mapperContext); } return map; } /** * @param table * @return */ public static MyBatisMapperData trainFormTableObject(SqlTableObject table) { MyBatisMapperData object = new MyBatisMapperData(); // 设置表名 leName(leName()); ityName(getClass().getSimpleName()); perLocation(setMapperLocation(getClass())); // 配置列 List columnNameList = getColumnNameList(umns()); fixsColumnNames(setPerfixsColumnNames(columnNameList)); umnNames(setColumnNames(columnNameList)); // 获取字段名 List fieldNameList = new ArrayList<>(); getFieldNameListByClass(getClass(), fieldNameList); // 设置 ertFields(setInsertFields(fieldNameList)); ertBatchFields(setInsertBatchFields(fieldNameList)); ateFields(setUpdateFields(fieldNameList, columnNameList)); ateBatchFields(setUpdateBatchFields(fieldNameList, columnNameList)); return object; } public static String setMapperLocation(Class clazz) { String className = e(); String location = ing(0, f("dao") + 3) + ".jpas." + pleName() + "Mapper"; return location; } public static Context trainToContext(MyBatisMapperData data) { Context context = new Context(); Field[] fields = ss().getDeclaredFields(); Map fieldMethodMap = new HashMap<>(); for (Field field : fields) { String fieldName = e(); (eldToGetterMethodName(fieldName), fieldName); } Method[] methods = ss().getDeclaredMethods(); for (Method method : methods) { String fieldName = (e()); if (y(fieldName)) { continue; } try { Object value = (data); iable(fieldName, value); } catch (IllegalAccessException e) { tackTrace(); } catch (InvocationTargetException e) { tackTrace(); } }

UPDATE SET [[${updateFields}]] WHERE

SpringBoot+MyBatis动态建表+动态生成基于模板Mapper

本文发布于:2024-02-05 16:32:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170712193257593.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:动态   设置   获取   生成   字段名   表格
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23