Java 使用 mybatis 能否完成自定义的 insert 查询
A 表是配置表 里面存的是数据库字段名
然后前端有一个 <列表>
里面字段名是从 A 表动态读的, 这里有啥前端就显示啥
然后问 数据表数据库应该怎么设计 或者 有什么其他思路
这个,在 php,go 里面很好实现, 凭借好语句直接发送给 db query 就好了.
但是, Java 里面好像是要 xml 映射吧? 没法做到动态
|  |      1502Chef      2021-04-01 10:05:59 +08:00 via iPhone MyBatis Plus 可以实现简单的查询 | 
|  |      2502Chef      2021-04-01 10:08:20 +08:00 via iPhone 也需要创建 xml,但是不需要编写查询语句,使用 MyBatis Plus 的 queryMappr 对象可以组织查询或者插入条件 | 
|      3assiadamo      2021-04-01 10:10:20 +08:00 没必要特别设计吧,表需要存什么数据就是什么数据,然后 jdbc 有接口可以获取表和库的元数据,列名和类型全都能获取出来,既然 jdbc 能,在 jdbc 上的 mybatis 肯定也能 之后就可以组装数据,一套前端模板就可以显示 N 个表了 | 
|      4Dimomo      2021-04-01 10:10:27 +08:00 mybatis  annotation | 
|  |      5RuzZ      2021-04-01 11:28:57 +08:00 如果是要简单的拼接 sql,直接用 jdbcTemplate 就可以了;如果是想动态映射 bean 到数据库,不写 xml 映射这种的,jooq 、mybatis dynamic sql 、甚至 mybatis-plus 都可以。 | 
|  |      6RuzZ      2021-04-01 11:34:59 +08:00 @RuzZ 看你的描述,应该是 bean 到数据库的映射是确定的,但是 select 的字段和 where 条件是动态变化的,这种 mybatis dynamic sql 和 jooq 应该可以满足你的要求,不过这个 mybatis dynamic sql 社区资料不是很丰富,jooq 相对丰富一些,你可以自己调研看看 | 
|  |      7rancc      2021-04-01 11:37:05 +08:00 实现 mybatis-plugin,根据配置内容在 Interceptor 里拼接要执行的 sql | 
|      8whitelee8080      2021-04-01 11:41:34 +08:00 mybatis 可以动态查询 ```xml <select id="dyQuery" resultType="java.util.Map" parameterType="java.lang.String" statementType="STATEMENT"> select ${field} from ${tableName} </select> ``` 将 A 表保存的字段名(拼接好的),数据库名传如就行,但是有 sql 注入风险。 不知道是否符合题主所说的问题。 | 
|  |      9arthas2234      2021-04-01 11:44:36 +08:00 暴露表结构给前端,并不是一个好的设计 | 
|      10zm8m93Q1e5otOC69      2021-04-01 12:41:35 +08:00 $ 就可以了吧,有啥不能动态的 | 
|  |      11xiaoxinshiwo      2021-04-01 16:51:19 +08:00 json 格式存储也可 |