添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1、方式二

利用@Select注解(通理xml配置一样)传惨的方式,将表明传入

@Select("select * from ${table} where col1 = #{v1}")
    JSONObject query(@Param("v1") String v1, @Param("table") String table);

二、Hibernate

JPA本身便支持@Table动态注入#,$注入都是可以的

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "#{nftscanBlockChainData.blockChain}" + "_rt_day")
@Builder
public class RtsMarketCap  {
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private BigDecimal marketCap;
    private BigDecimal marketCapChange;
    //....忽略字段
动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${} 。
1、#相当于对数据 加上 双引号,$相当于直接显示数据。
2、#{} : 根据参数的类型进行处理,比如传入String类型,则会为参数加上双引号。#{} 传参在进行SQL预编译时,会把参数部分用一个占位符 ? 代替,这样可以防止 SQL注入。
				
项目中使用了 MyBatis-Plus 简化开发,在项目中,对数据库表的操作,可以通过在数据表实体类中添加@TableName("table_name") 来指定该实体所对应的表,如下: @TableName("user") @Data public class User implements Serializable { private static final long serialVersionUID = 4462743168115185463L; 在业务中有这么个需求,在Us
Mybatis Plus 可以通过使用 TableNameParser 接口来实现动态表名。你需要自定义一个实现了 TableNameParser 接口的类,并在 Mybatis Plus 的配置中将其注册为自定义的 TableNameParser 实例。然后,你就可以在你的 mapper 接口中使用 @TableName 注解动态指定表名了。 @Mapper public interf...
项目中使用了MyBatis-Plus简化开发,在项目中,对数据库表的操作,可以通过在数据表实体类中添加@TableName("table_name")来指定该实体所对应的表,如下: @Data @TableName("viechle") public class AutoDataTable implements Serializable { private static final long serialVersionUID = ... @TableName(value = …) 当数据库名与实体类名不一致或不符合驼峰命名时,需要在此注解指定表名(不加这个注解默认将实体类的小写形式在db中寻找) @TableField 字段注解,该注解用于标识非主键的字段。将数据库列与 JavaBean 中的属性进行映射 @TableId(type = …) 指定实体类的属性为对应的主键,主要有以下几种: // 数据库ID自增 IdType.AUTO // 该类型为未设置主键类型(默认) IdType.NONE * 用户输入ID
最近项目中有几张业务表数据量较其他业务表数据量大很多,所有就考虑分表。因为DAO层使用的是tk.mybatis通用插件,所以就抽时间看了下 tk.mybatis源码,以求得不改变任何业务代码实现个性化分表功能。最终得到以下实现方案。 1、tk.mybatis中有一个IDynamicTableName接口,实现此接口就可在CRUD中实现动态表名
文章目录一、@TableName二、@TableId三、@TableField四、@TableLogic 一、@TableName 经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表 由此得出结论,MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决定,且默认操作的表名和实体类型的类名一致 若实体类类型的类名和要操作的表的表名不一致,会