MyBatis-Plus 是 MyBatis 的一个增强插件,提供了许多便捷的功能,以简化数据库操作。关于插入操作,MyBatis-Plus 提供了多种方式来执行。 1.使用注解:你可以在实体类上使用注解,如@TableName来指定要插入数据的表名。 2.XML 映射文件:在 MyBatis 的 XML 映射文件中,你可以使用<insert>标签并指定table属性来指定...
@Mapper:声明一个mybatis的dao接口,会被spring boot扫描到 @Select:声明一个查询方法,相应的增删改使用@Insert @Delete@Update List<User>:返回集合。如果只返回一个结果,返回值是User。如果是增删改方法返回值是int User param:传参,#{id}就是param对象的id值 扫描Mapper [java]view plaincopy @MapperScan("he...
DynamicTableNameInnerInterceptor的主要作用是在 MyBatis 执行 SQL 语句时,动态地替换 SQL 语句中的表名。 具体来说,当使用该拦截器时,在 SQL 语句中可以使用${}占位符表示要替换的表名,同时需要配置一个动态表名解析器,根据当前的上下文环境(如请求参数、会话信息等)动态地生成要替换的表名。 当 MyBatis 执行 ...
@Testpublicvoidtest(){UserInfouserInfo=newUserInfo();userInfo.setUserName("用户名");userInfo.setAge(1);userInfoMapper.insert(userInfo);} 可以看到,此时的id=0,还没有任何值—— 执行到insert的时候,底层会执行一个动态代理,最终通过动态代理,执行DefaultSqlSession类的insert方法,可以看到,insert方法里,最终调...
builder.append(sql.substring(last)); } if(hook !=null) { hook.run(); } returnbuilder.toString(); } 仅支持一下关键词 所以如果使用动态表名替换功能时候使用:INSERT IGNORE 类似这样的语句 IGNORE 无法被识别,所以后面跟着的表名也无法识别
INSERT_ONE("insert", "插入一条数据(选择字段插入)", "\nINSERT INTO %s %s VALUES %s\n") ; private final String method; private final String desc; private final String sql; private SqlMethod(String method, String desc, String sql) { this.method = method; this.desc = desc; this.sql =...
需要引入 spring-boot-starter-web、spring-boot-starter-test、spring-boot-configuration-processor、mybatis-plus-boot-starter、mysql-connector-java、lombok 库。 配置读取类 我们先定义一个配置读取类,用于获取动态配置的学校以及需要动态添加学校前缀的表名。
System.out.println("insert = " + insert); } 没有属性后动态生成的sql: INSERT INTO t_student ( s_name, sphone ) VALUES ( ?, ? ) 修改操作 UpdateById方法: 作用:更新数据到数据库中 参数: 更新的数据 注意: 根据主键ID作为条件来完成更新,并且更新实体类中有值的属性,null值的属性不参与更新 ...
某天同事突然问我,你知道Mybatis Plus的insert方法,插入数据后自增id是如何自增的吗? 我愣了一下,脑海里只想到,当在POJO类的id设置一个自增策略后,例如@TableId(value = "id",type = IdType.ID_WORKER)的注解策略时,就能实现在每次数据插入数据库时,实现id的自增,例如以下形式—— @Data @AllArgsConstruct...
今天介绍一个 MyBatis - Plus 官方发布的神器: 主要功能 字典绑定 字段加密 数据脱敏 表结构动态维护 数据审计记录 数据范围(数据权限) 数据库分库分表、动态据源、读写分离、数- - 据库健康检查自动切换。 2、使用2.1 依赖导入 Spring Boot 引入自动依赖注解包 ...