当前位置: 首页 > news >正文

网站挑错最全做暖暖网站

网站挑错,最全做暖暖网站,魔艺极速建站,网站建设一年能收入多少钱部分业务可能会需要根据参数不同而查询不同的表#xff0c;或者查询不同的字段。使用MyBatis-Plus可以很方便地实现这种需求#xff0c;甚至不需要使用.xml文件。 三张数据表user、user1、user2内容都如下#xff1a; idnameagesex1张三1812李四nullnull3或者查询不同的字段。使用MyBatis-Plus可以很方便地实现这种需求甚至不需要使用.xml文件。 三张数据表user、user1、user2内容都如下 idnameagesex1张三1812李四nullnull3nullnullnull 方式一 在UserMapper.java中使用Select注解动态改变要查询的表或字段 UserMapper.java public interface UserMapper extends BaseMapperUser {Select(select ${column1} from ${table1} where ${column2} #{variable1})String test(Param(column1) String column1,Param(table1) String table1,Param(column2) String column2,Param(variable1) String variable1); }使用Test调用测试service层实现类的代码如下 Override public String test() {return baseMapper.test(name, user, id, 1); }得到控制台打印输出 JDBC Connection [HikariProxyConnection530131514 wrapping com.mysql.cj.jdbc.ConnectionImpl30bf26df] will not be managed by SpringPreparing: select name from user where id ?Parameters: 1(String)Columns: nameRow: 张三Total: 1 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession3f362135] 张三这种方式实现了动态更改要查询的表名或字段但是必须要注意 Select注解中如果将表名、字段名作为传参必须使用$不能使用#因为#会给传递的参数带上引号导致sql语法错误Param只有在仅一个参数且名称相同时可以省略否则必须带上 方式二 使用拦截器的方式将表名修改掉。在任意位置建一个MyBatis-Plus的配置类 package cn.ly.mptest.config;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** author : Liuyuan*/ Configuration public class MybatisPlusConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor new DynamicTableNameInnerInterceptor();dynamicTableNameInnerInterceptor.setTableNameHandler((sql, tableName) - {String newTable user1;return newTable;});interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor);return interceptor;} }改变返回的newTable的值即可更换查询的表。在Test中调用 Test void test() {User byId userService.getById(1);System.out.println(byId.getName()); }可以看到输出台打印的真正查询语句 JDBC Connection [HikariProxyConnection1958242673 wrapping com.mysql.cj.jdbc.ConnectionImpl1f9d4b0e] will not be managed by SpringPreparing: SELECT id,name,age,sex FROM user1 WHERE id?Parameters: 1(Integer)Columns: id, name, age, sexRow: 1, 张三1, null, nullTotal: 1 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession7d979d34] 张三1可以看到虽然使用的是User实体类但是依然查询的from user1。 这种方式不同MyBatis-Plus版本会有不同写法可以参考这两篇博客 博客1 博客2
http://www.pierceye.com/news/867334/

相关文章:

  • 怎么免费做网站视频教学沈阳网站备案
  • 徐州有哪些网站制作公司太原住房和城乡建设部网站
  • 专门做摩托车的网站注册域名阿里云
  • 做个简单的网站建站公司费用
  • 网站建设举措网站免费建站方法
  • 遵义市双控体系建设网站wamp wordpress安装
  • 厦门的网站建设公司龙岗网站-建设深圳信科
  • 上海网站建设q.479185700強成都上界品牌设计事务所
  • 产品设计优秀网站做网站申请多少类商标
  • 中国行业网站贵州网站建设seo优化
  • 网站部兼容ie6没有防盗链的网站
  • google网站推广网站自助平台
  • 外贸自建站多久能出单wordpress的pdf阅读
  • 深圳东莞的网站建设公司网店代运营哪里好
  • 做费网站wordpress折叠代码
  • 分析海报的网站企业网站服务费怎么做记账凭证
  • 海南建设大厅网站888网创
  • aspnet网站开发实例项目河南网站建设推广
  • ppt免费模板大全网站微网站建设网站
  • 郑州网站建设七彩科技网络服务器配置设计
  • 专业企专业企业网站设计洛阳青峰网络
  • 网站开发需要多少钱如何销售管理系统需求分析
  • 西安网站建设查派9861云南网站建设
  • 做微商网站制作网站曝光率
  • 平价网站平价网站建设建设百度电话号码
  • 有哪些做拎包入住的网站中国建设银行网站会员用户名
  • 用模板搭建的网站备案吗wordpress热门文章调用
  • 有哪些电商网站中山视角做网站的公司
  • 做网站 点击跳转html菜鸟教程下载
  • 苏州做公司网站设计的公司嘉盛建设集团官方网站