首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpringMVC + Mybatis bug调试 SQL正确,查数据库却返回NULL

这样的级别 然后不管传进去的是什么 数据库里有没有 都会返回null ---- 第一反应是sql语句写错了,比如把1和小写L弄混了之类的,传给sql的参数里有奇怪的空格等等 于是打开debug log...拿到传给sql的preparedStatement 和对应的参数 复制到console里自己查了一下,可以执行,返回结果也正确,说明不是sql的问题 ---- 既然不是sql的问题,那只好调试一下代码了...,ide提示说源代码和class文件对应行不一致,单步调试时代码在不同行之间乱跳,并且对我正在监视的变量报了一个类中不存在该变量的错 所以怀疑是引用冲突了 ---- 接下来确认一下是不是引用了奇怪的类...)throw new IllegalArgumentException("null input: cls"); URL result = null; final String...= null ?

1.4K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    List,DataTable实现行转列的通用方案

    最近在做报表统计方面的需求,涉及到行转列报表。根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列。期间遇到几个问题和用到的新知识这里整理记录一下。...阅读目录 问题介绍 动态Linq System.Linq.Dynamic其它用法 DataTable行转列 总结 回到顶部 问题介绍   以家庭月度费用为例,可以在[Name,Area,Month]三个维度上随意组合进行分组...回到顶部 System.Linq.Dynamic其它用法     上面行转列代码见识了System.Linq.Dynamic的强大,下面再介绍一下会在开发中用到的方法。    ...,不等于,小于,大于,小于等于,大于等于 case Operator.EQ: case Operator.NE...= null && !

    2K70

    由浅入深表达式树(完结篇)重磅打造 Linq To 博客园

    :) 实现目标   我们实现的目标就像Linq to SQL一样,可以用Linq查询语句来查询数据,我们这里面的数据用到了博客园官方的Service去查询到最新的发布到首页的博客信息。...但是事实就是这样,咋是程序员呀,需求摆在这,怎么着还得实现是不?没有办法,我给它封装了一层。在它的基础上做了一个自己的Service。...因为我们最后会通过我们自己的LinqProvider将Linq查询语句直接翻译成Url这样就能够实现远程的返回数据了。来看看我们对Url参数的定义: ?...= null) { if (!...可以在运行时去遍历解释然后执行,那么这样就可以将表达式转换成各种其它的方式去获取数据,伟大的Linq to SQL就是这么实现的。

    1.7K60

    C# 基础知识系列- 6 Lambda表达式和Linq简单介绍

    ,当使用的是有返回值的方法体时,如果方法体是个简单的计算式或者说可以在一行内写完(或被编译器认为是一行)的话,可以省略 {、} 和return,直接用 => 标记。...Linq有两种使用方式,一种是通过方法链的方式调用,一种是类似SQL语句的方式进行数据查询。方法链是基础,类SQL方式是语法糖。...获取分数大于60的所有分数: IEnumerableint> result1 = scores.Where(t => t > 60); 获取分数大于等于60的数量: int count = scores.Count...(t => t % 10); 使用类SQL形式查询 查询所有大于等于60的分数: IEnumerableint> result3 = from score in scores...需要特别注意的一点: Linq查询是一种延迟查询,也就是说当返回类型是一个IEnumerable 的时候不会立即返回结果,必须调用ToList才能获取到实际查询结果。

    1.3K50

    linq to sql中慎用Where(Func predicate),小心被Linq给骗了!

    近日在一个大型Web项目中,采用Linq to Sql替换原来的sqlcommand/sqldatareader方式来获取数据,上线后刚开始一切正常,但是随着访问量的增加,网站明显慢了很多,监测服务器CPU...占用率/内存使用情况等性能指标却发现均在正常范围内,无意中在SqlServer Profier中跟踪数据库执行的sql语句时,发现有大量语句直接将整个表的数据全部提取出来了,而非仅返回分页中的当前页数据...而这些SQL都是Linq自动翻译并最终提交到数据库的,查看了相关的代码,明明写着Skip(n).Take(m)类似的语句,为何还会生成这么“傻”的sql呢?...[T_Test]( [F_ID] [int] IDENTITY(1,1) NOT NULL, [F_Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS...NULL, [F_Age] [int] NULL, CONSTRAINT [PK_T_Test] PRIMARY KEY CLUSTERED ( [F_ID] ASC )

    1K50

    Apache Calcite 框架 50 倍性能优化实践

    使用方式:实现Enumerable scan(DataContext root);,该函数返回Enumerable对象,通过该对象可以一行行的获取这个Table的全部数据。...当使用ScannableTable的时候,我们只需要实现函数Enumerable scan(DataContext root);,该函数返回Enumerable对象,通过该对象可以一行行的获取这个Table...我们需要实现函数Enumerable scan(DataContext root, List filters );参数中多了filters数组,这个数据包含了针对这个表的过滤条件,这样我们根据过滤条件只返回过滤之后的行...以下是根据 SQL 动态生成的 linq4j 表达式: public static class Record2_0 implements java.io.Serializable { public...也说明了 calcite 会根据不同的 SQL 动态生成 linq4j 表达式。

    5.5K10

    C#进阶-LINQ表达式之多表查询(Join连接篇)

    本篇文章我们将演示LINQ扩展包基础语法里的多表查询 ,以Join连接查询为主要内容。目前LINQ支持两种语法,我会在每个案例前先用大家熟知的SQL语句表达,再在后面用C#的两种LINQ语法分别实现。...的Join连接语法示例1、Join连接查询分类SQL中常见的连接查询有:left join : 左连接,返回左表中所有的记录以及右表中连接字段相等的记录。...right join : 右连接,返回右表中所有的记录以及左表中连接字段相等的记录。inner join : 内连接,又叫等值连接,只返回两个表中连接字段相等的行。...full join : 外连接,返回两个表中的行:left join + right join。cross join : 结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。...s ON u.id = s.user_id AND u.name = s.name WHERE u.gender = true AND s.active = true;/* C#写法1*//*这种写法不推荐

    3.6K65

    C#进阶-LINQ表达式之多表查询Ⅱ

    本篇文章我们将演示LINQ扩展包基础语法里的多表查询 ,以Join连接查询为主要内容。目前LINQ支持两种语法,我会在每个案例前先用大家熟知的SQL语句表达,再在后面用C#的两种LINQ语法分别实现。...数据源1: 数据源2: ① Join连接查询分类 SQL中常见的连接查询有: left join : 左连接,返回左表中所有的记录以及右表中连接字段相等的记录。...right join : 右连接,返回右表中所有的记录以及左表中连接字段相等的记录。 inner join : 内连接,又叫等值连接,只返回两个表中连接字段相等的行。...full join : 外连接,返回两个表中的行:left join + right join。 cross join : 结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。...ON u.id = s.user_id AND u.name = s.name WHERE u.gender = true AND s.active = true; /* C#写法1*/ /*这种写法不推荐

    35521

    ADO.NET入门教程(六) 谈谈Command对象与数据检索

    必须掌握的几个方法 ExecuteNonQuery: 执行不返回数据行的操作,并返回一个int类型的数据。...如果找不到结果集中第一行的第一列,则返回 null 引用。 5. 如何创建Command对象?       在创建Command对象之前,你需要明确两件事情:(1)你要执行什么样的操作?...(1)场景一:执行CRUD操作,不返回数据行,返回影响的行数(可选)       当我们对数据表的行(记录)进行增加,删除,更新操作或者处理数据定义语句(比如用Create Table来创建表结构)时,...实际上数据库是不返回数据行的,仅仅返回一个包含影响行数信息的整数。...= null && reader.HasRows) { int rows = 0;//记录行数

    1.4K71

    由浅入深表达式树(二)遍历表达式树

    LINQ to SQL就是通过把表达式树翻译成SQL来实现的,所以了解表达树有助于我们更好的理解 LINQ to SQL,同时如果你有兴趣,可以用它创造出很多有意思的东西来。   ...但是不知道多少人是对它理解的很透彻, 在上一篇Lambda表达式的回复中就看的出大家对Lambda表达式和表达式树还是比较感兴趣的,那我们就来好好的看一看这个造就了LINQ to SQL以及让LINQ...本文主要内容: 有返回值的表达式树示例 通过表达式树访问类翻译SQL查询Where语句   上一篇由浅入深表达式树(一)我们主要讨论了如何根据Lambda表达式以及通过代码的方式直接创建表达式树。...(Int32))); // 为输入参加+10之后返回 ParameterExpression inParam3=Expression.Parameter(typeof(int)); BlockExpression...语句,然后直接返回该SQL语句。

    1.1K50

    为什么我使用了索引,查询还是慢?

    案例剖析 --------- 言归正传,为了实验,我创建了如下表: CREATE TABLE `T`( `id` int(11) NOT NULL, `a` int(11) DEFAUT NULL,...我们来看看建立索引以后,这个表的组织结构图: [图片] 这个语句的执行流程是这样的: 从索引上用树搜索,取到第1个age等于10的记录,得到它的主键id的值,根据id的值去主键索引取整行的信息,作为结果集的一部分返回...; 在索引age上向右扫描,取下一个id的值,到主键索引上取整行信息,作为结果集的一部分返回; 重复上面的步骤,直到碰到第1个age大于15的记录; 你看这个语句,虽然他用了索引,但是他扫描超过了1亿行...8,如果是就作为结果集的一行返回,如果不是就丢弃。...,age); 我们来看这个SQL语句的执行效果: CREATE TABLE `t_people`( `id` int(11) DEFAULT NULL, `name` varchar(20) DEFAUT

    1K41

    .NET面试题系列 - LINQ to SQL与IQueryable

    - Jon Skeet LINQ to Object和LINQ to SQL有何区别? LINQ to SQL可以将查询表达式转换为SQL语句,然后在数据库中执行。...int> seq3 = seq.Where(o => o > 4).AsQueryable(); 模拟接口实现一个简单的LINQ to SQL 下面试图实现一个非常简单的查询提供器(即LINQ to xxx...; } } 这个非常简陋的DbHelper拥有连接数据库,简单执行sql语句(不需要返回值,用于DDL或delete语句)和通过执行Sql语句,返回若干实体的功能(用于select...我们的目标是解析where表达式,将其转换为SQL,然后调用ExecuteSql方法返回数据,和通过直接调用where进行比较。...方法一行行读取数据,然后通过GetString,GetInt32等方法获得每一列的数据)。

    1.7K10
    领券