精华内容
下载资源
问答
  • 2021-03-07 04:07:25

    在ssm框架整合中,有时候在控制台调试就需要看到打印的sql语句是否正确,这个时候就要启动mybatis打印sql语句的配置,mybatis输出sql语句需要在mybatis-config.xml配置文件中的Configuration里面启动相关属性,代码如下:

    ……

    这个时候可以不用再放一个log4j.properties配置文件就可以在控制台中查看输出的sql语句了,value值支持下面这几种日志配置,如下:SLF4J

    LOG4J

    LOG4J2

    JDK_LOGGING

    COMMONS_LOGGING

    STDOUT_LOGGING

    NO_LOGGING

    STDOUT_LOGGING 这种方式就是将sql语句输出在了控制台上。在 IDE中是控制台,在服务器上就是 web 服务器的输出日志中了。

    来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/445.html

    更多相关内容
  • mybatis动态SQL语句

    2018-04-28 10:40:17
    if 、where、set、trim、choose 、foreach等在mybatis中的具体用法,有具体实例可供参考,玩转mybatis
  • MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,下面给大家介绍Mybatis控制台打印Sql语句的实现代码,非常不错,感兴趣的朋友一起看下吧
  • MybatisSQL语句复用

    2020-08-31 03:05:25
    主要介绍了MybatisSQL语句复用,需要的朋友可以参考下
  • 主要介绍了在IDEA中安装MyBatis Log Plugin插件,执行mybatissql语句,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 主要介绍了mybatis执行SQL语句部分参数返回NULL问题,需要的的朋友参考下吧
  • MyBatis——SQL语句构建器类

    Java 程序员面对的最痛苦的事情之一就是在 Java 代码中嵌入 SQL 语句。这通常是因为需要动态生成 SQL 语句,不然我们可以将它们放到外部文件或者存储过程中。如你所见,MyBatis 在 XML 映射中具备强大的 SQL 动态生成能力。但有时,我们还是需要在 Java 代码里构建 SQL 语句。此时,MyBatis 有另外一个特性可以帮到你,让你从处理典型问题中解放出来,比如加号、引号、换行、格式化问题、嵌入条件的逗号管理及 AND 连接。确实,在 Java 代码中动态生成 SQL 代码真的就是一场噩梦。

    解决方案

    MyBatis 3 提供了方便的工具类来帮助解决此问题。借助 SQL 类,我们只需要简单地创建一个实例,并调用它的方法即可生成 SQL 语句。

    官方文档:mybatis – MyBatis 3 | SQL 语句构建器icon-default.png?t=M1L8https://mybatis.org/mybatis-3/zh/statement-builders.html

     具体使用

            插入:

                    注解:@InsertProvider

    @InsertProvider(type = CommonDao.SqlProvider.class, method = "insertByCondition")
    int insert(PersonDTO param);
    
    class SqlProvider {
                public String insertByCondition(PersonDTO param) {
                SQL sql = new SQL();
                sql.INSERT_INTO("Person");
                if (param.getId() != null) {
                    sql.VALUES("ID", "#{id}");
                }
                if (!StringUtils.isEmpty(param.getAge())) {
                    sql.VALUES("AGE", "#{age}");
                }
                if (!StringUtils.isEmpty(param.getName())) {
                    sql.VALUES("NAME", "#{name}");
                }
                return sql.toString();
            }
    }

         删除:

                 注解:@DeleteProvider

    @DeleteProvider(type = CommonDao.SqlProvider.class, method = "removeByCondition")
    int remove(PersonDTO param);
    
    class SqlProvider {
                public String removeByCondition(PersonDTO param) {
                SQL sql = new SQL();
                sql.DELETE_FROM("Person");
                if (param.getId() != null) {
                    sql.WHERE("id = #{id}");
                }
                if (!StringUtils.isEmpty(param.getAge())) {
                    sql.WHERE("AGE= #{age}");
                }
                if (!StringUtils.isEmpty(param.getName())) {
                    sql.WHERE("NAME= #{name}");
                }
                return sql.toString();
            }
    }

       修改:

            注解:@UpdateProvider

    @UpdateProvider(type = CommonDao.SqlProvider.class, method = "updateByCondition")
    public int update(PersonDTO param);
    
    
    class SqlProvider {
        public String updateByCondition(PersonDTO param) {
            SQL sql = new SQL();
            sql.UPDATE("Person");
    
            if (!StringUtils.isEmpty(param.getAge())) {
                    sql.SET("AGE = #{age}");
            }
            if (!StringUtils.isEmpty(param.getName())) {
                    sql.SET("NAME = #{name}");
            }
            sql.WHERE("ID = #{id}");
            return sql.toString();
       }
    }

    查询:

         注解:@SelectProvider

    @SelectProvider(type = CommonDao.SqlProvider.class, method = "selectByCondition")
    List<PersonDTO> personList(PersonDTO param);
    
    class SqlProvider {
        public String selectByCondition(PersonDTO param) {
             SQL sql = new SQL();
             sql.SELECT("*");
             sql.FROM("Person");
             if (param.getId() != null) {
                 sql.WHERE("ID = #{id}");
             }
             if (!StringUtils.isEmpty(param.getAge())) {
                sql.WHERE("AGE = #{age}");
             }
             if (!StringUtils.isEmpty(param.getName())) {
                sql.WHERE("NAME = #{name}");
             }
             if (!StringUtils.isEmpty(param.getOrder())) {
                sql.ORDER_BY("ORDER ASC");
             }
             return sql.toString();
      }
    }

    当类名与表字段名字不对应时

            如类的字段有personAge、personName与表字段AGE、NAME不对应

        @Results({@Result(column = "AGE", property = "personAge"), @Result(column = "NAME", property = "personName")})
        @SelectProvider(type = CommonDao.SqlProvider.class, method = "selectByCondition")
        List<PersonDTO> personList(PersonDTO param);

    批量插入

    从版本 3.5.2 开始,你可以像下面这样构建批量插入语句:

    public String insertPersonsSql() {
      // INSERT INTO PERSON (ID, FULL_NAME)
      //     VALUES (#{mainPerson.id}, #{mainPerson.fullName}) , (#{subPerson.id}, #{subPerson.fullName})
      return new SQL()
        .INSERT_INTO("PERSON")
        .INTO_COLUMNS("ID", "FULL_NAME")
        .INTO_VALUES("#{mainPerson.id}", "#{mainPerson.fullName}")
        .ADD_ROW()
        .INTO_VALUES("#{subPerson.id}", "#{subPerson.fullName}")
        .toString();
    }
    public class SqlProvider {
        public String batchInsertInfoSQL(@Param("param") List<PersonDTO> param){
            return new SQL(){{
                INSERT_INTO("Person").
                INTO_COLUMNS("ID","AGE","NAME");
                for (int i = 0; i < param.size(); i++) {
                    INTO_VALUES(UUID.randomUUID().toString(),
                            Convert.toStr(param.get(i).getAge()),
                            param.get(i).getName())
                        	.ADD_ROW();
                }
            }}.toString();
        }
    
    展开全文
  • mybatis打印sql语句

    2021-07-29 10:09:42
    springboot mybatis项目,想要打印sql语句,可以直接下载Mybatis Log Plugin插件,下载后重启下idea,然后配置文件中添加logging.level.cn=debug配置即可。注意,这里的cn,是个包名,如果你的包名是com开头的,换成...

    springboot mybatis项目,想要打印sql语句,可以直接下载Mybatis Log Plugin插件,下载后重启下idea,然后配置文件中添加logging.level.cn=debug配置即可。注意,这里的cn,是个包名,如果你的包名是com开头的,换成com即可。
    在这里插入图片描述

    然后debug项目时,就会看到执行的sql语句。
    在这里插入图片描述

    展开全文
  • 这篇文章主要介绍了Mybatis中的动态SQL语句解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下  Mybatis中配置SQL有两种方式,一种是利用xml 方式进行配置,...
  • 只要是集成的mybaits的springboot项目都可以在配置文件中添加信息,进行sql语句的打印,用来更好的进行接口调试。 mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

    只要是集成的mybaits的springboot项目都可以在配置文件中添加信息,进行sql语句的打印,用来更好的进行接口调试。

        mybatis:
            configuration:
              log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    
    展开全文
  • springboot 项目整合 mybatis 后想打印 SQL 语句,找到以下几个方法: 1、修改 application.properties 配置文件 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl application.yml ...
  • 1.XML文件中SQL语句配置(Geteway.xml文件) <?xml version=1.0 encoding=UTF-8?> <!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd> ...
  • 第一种方法:使用mybatis配置 打印sql,但是不出现在log中 # Mybatis 配置 mybatis: # 打印SQL configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 第二种方法:使用Logback日志配置 打印...
  • 大家对mybatis执行任意sql语句都了解,那么MyBatis执行动态SQL语句呢?下面脚本之家小编给大家解答下mybatis执行动态sql语句的方法,非常不错,感兴趣的朋友参考下吧
  • logging: level: com.example.mywp.mapper: DEBUG
  • 在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...
  • 通过mybatis拦截器将查询语句、更新语句、删除语句、插入语句中指定表明替换为另一个表名
  • SpringBoot整合Mybatis后,方法执行完后,看不到执行的sql语句,很影响我们调试 所以今天讲一下怎么打印sql语句到控制台 很简单,只需要在配置文件里加一句话就可以了 #打印sql,方便调试 mybatis.configuration...
  • 测试mybatis执行sql语句步骤 调用mybatis某个对象的方法,执行mapper文件中的sql语句 mybatis核心类: SqlSessionFactory 定义mybatis主配置文件的位置, 从类路径开始的相对路径——读取主配置文件里面的信息(1....
  • 在本地开发调试时,某些场景下想看看mybatis执行的sql语句到底什么,因此我需要把sql执行语句打印出来。 spring框架中 在mybatis的配置文件中加下面配置 加入这样一句话就可以看到sql语句及其参数情况了。 <...
  • 方式一:将简单的sql语句...方式三:正常的mybatis在mapper.xml文件中写sql语句 删除 (1)删除:根据id删除需要删除的数据 改 (1)根据id去修改本数据中的一个列 查询 (1)当前端传过来一个对象,后台sql.
  • 适用于springboot(整合过mybatis的)和常规SSM项目,可以获取完整的mybatis执行的sql语句,用于直观的看到执行sql是否异常
  • 获取Mybatissql语句

    2022-01-07 15:20:47
    String sql = sqlSessionFactory.getConfiguration().getMappedStatement("包名.xml文件名.dao层的方法名").getBoundSql(uuids,userUuid).getSql(); System.out.println(sql); DAO层 // 以下是dao层方法 ...
  • 使用MyBatis打印SQL语句到控制台的方法
  • mybatis 动态sql语句拼接

    千次阅读 2019-10-16 08:52:03
    mybatis常用占位符的方式传递参数,比较安全,可以防止sql注入。 有些时候,特殊逻辑需要java封装好...${sql}:拼接sql语句。 <select id="getAllAutoNodes" resultType = "com.wht.auto.group.NodeVO"> se...
  • 主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下
  • springboot项目配置文件中(ps:application.yaml)配置如下信息: logging: level: '*': debug mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  • Spring boot mybatis 打印SQL语句

    万次阅读 多人点赞 2018-07-19 18:50:25
    有时候从前端传参数到后端查数据库的时候不是很清楚的知道哪些参数能起作用,这个时候就需要简便的sql语句让你知道数据查询的过程中的参数,SQL语句了。 第一种方式,用mybatis集成的方式,在你的application.yml...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,239
精华内容 65,295
关键字:

mybatis修改sql语句