文档章节

为什么的我的结果集没有按照sql要求输出相应的结果呢???

Star骁北
 Star骁北
发布于 2015/10/14 21:13
字数 502
阅读 12
收藏 0
点赞 0
评论 0
public List<Goddess> query(List<Map<String,Object>> params) throws Exception{
		List<Goddess> gs=new ArrayList<Goddess>();
		
		 	 Connection conn=DBUtil.GetConnection();
			 StringBuilder sb=new StringBuilder();
			 sb.append(" SELECT * from imooc_goddess where 1=1");
			 
			//会将这个sql语句加载到程序驱动中,但并非真执行。
			 PreparedStatement ptmt= conn.prepareStatement(sb.toString());
			
			 if(params!=null&&params.size()>0){
				 for (int i = 0; i < params.size(); i++) {
					 Map<String,Object> map=params.get(i);
					 //这样写就很明了  查询什么 关系是什么  值是什么   一下子就清楚了
					 sb.append(" and " + map.get("name")+" "+map.get("rela")+
							" "+ map.get("value")+" ");
				}
			 }
			 //查看sql语句
			 System.out.println(sb.toString());			 
			 ResultSet rs=ptmt.executeQuery();			 
			 Goddess g=null;
			 
			 //把查询到的结果集存放到    list的gs对象中
			while(rs.next()){
				g=new Goddess();
				g.setId(rs.getInt("id"));
				g.setUser_name(rs.getString("user_name"));
				g.setAge(rs.getInt("age"));				
				gs.add(g);
			}
		return gs;
	}
package action;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.imooc.dao.goddessDao;
import com.imooc.model.Goddess;

import sun.applet.Main;

public class GoddessAction {
	
	public static void main(String[] args) throws Exception {
		goddessDao g=new goddessDao();
		
		List<Map<String,Object>> params=new ArrayList<Map<String,Object>>();		
		Map<String,Object> param=new HashMap<String, Object>();
		
		param.put("name", "user_name");
		param.put("rela", "=");
		param.put("value", "'王卡卡'");
		params.add(param);
		
		//把g.query查询到的值赋给 list对象result中
		List<Goddess> gs = g.query(params);
		for(int i=0; i<gs.size(); i++){
			System.out.println(gs.get(i).toString());
		}
//		for(Goddess r:result){
//			System.out.println(result.toString());
//		}
		
//		 List<Goddess> gs=g.query();
//		 
//		 for (Goddess e:gs){
//			 System.out.println(e.getUser_name()+","+e.getAge());
//		 }
		
//		Goddess g1=new Goddess();
//
//		g1.setUser_name("王卡卡");
//		g1.setSex(1);
//		g1.setAge(2);
//		g1.setBirthday(new Date());
//		g1.setId(337);
		
//		g.updateGoddess(g1);
//		g.delGoddess(337);
		
//		Goddess g2= g.get(1);
//		System.out.println(g2.toString());
		
		
	}
}

                下面是运行结果

==========================================

 SELECT * from imooc_goddess where 1=1 and user_name = '王卡卡' 

Goddess [id=1, user_name=小红, sex=null, age=23, birthday=null, email=null, mobile=null, create_user=null, update_data=null, isdel=null]

Goddess [id=2, user_name=小黑, sex=null, age=23, birthday=null, email=null, mobile=null, create_user=null, update_data=null, isdel=null]

Goddess [id=335, user_name=asd , sex=null, age=25, birthday=null, email=null, mobile=null, create_user=null, update_data=null, isdel=null]

Goddess [id=336, user_name=???, sex=null, age=25, birthday=null, email=null, mobile=null, create_user=null, update_data=null, isdel=null]

Goddess [id=338, user_name=王卡卡, sex=null, age=25, birthday=null, email=null, mobile=null, create_user=null, update_data=null, isdel=null]

输出的竟然是整张表的数据!!

问题来了 为什么action中LIST对象 gs存的是数据表中所有的数据  而不是sql的查询结果呢???????、

求指教 感谢!!!!!!!


© 著作权归作者所有

共有 人打赏支持
Star骁北
粉丝 0
博文 2
码字总数 890
作品 0
大连
程序员
Dao工具翻页技术哪家强?

BeetlSql 也推出了翻页接口,总的来说,跟其他Dao工具差不多,通过传入一个PageQuery,包含了查询参数,以及当前页数,来获得web翻页需要各种输出,如 1 查询结果总数 2 当前查询结果 3 总共...

闲大赋 ⋅ 2016/03/22 ⋅ 3

C# 使用Linq递归查询数据库遇到的问题及解决方法

User表通常是我们在写“XX管理系统”项目时必须要用到的,有的情况下人员的分类属于树形结构,就是除了最高层和最低层,中间层都有相对的父和子,设计数据库的时候,我们通常会加一个parenti...

我不会抽烟 ⋅ 2014/06/19 ⋅ 0

一步步实现 Redis 搜索引擎

原文出处:jasonGeng88 场景 大家如果是做后端开发的,想必都实现过列表查询的接口,当然有的查询条件很简单,一条 SQL 就搞定了,但有的查询条件极其复杂,再加上库表中设计的各种不合理,导...

jasonGeng88 ⋅ 2017/06/19 ⋅ 0

Oracle的rownum原理和使用(分页相关)

整理和学习了一下网上高手关于rownum的帖子: 参考资料: http://tech.ddvip.com/2008-10/122490439383296.html 对于Oracle的rownum问题,很多资料都说不支持>,>=,=,between……and,只能...

千惊万喜 ⋅ 2016/05/16 ⋅ 0

mysql性能优化

一、 这是一篇MySQL性能优化的教程,来着某公司的DBA,原是为了培训公司员工用,现在转载出来供大家一起学习提高。 背景及目标 ● 用于员工培训和分享。 ● 针对用户群为已经使用过mysql环境...

无聊的人们啊 ⋅ 2012/08/31 ⋅ 2

oralce之rownum

整理和学习了一下网上高手关于rownum的帖子: 参考资料: http://tech.ddvip.com/2008-10/122490439383296.html 和 http://tenn.javaeye.com/blog/99339 对于Oracle的rownum问题,很多资料都...

zh151832 ⋅ 2016/03/08 ⋅ 0

需要我们了解的SQL Server阻塞原因与解决方法 - sym_cn

这里通过连接在sysprocesses里字段值的组合来分析阻塞源头,可以把阻塞分为以下5种常见的类型(见表)。waittype,open_tran,status,都是sysprocesses里的值,“自我修复?”列的意思,就是指阻...

鱼煎 ⋅ 2016/05/07 ⋅ 0

这一刻,MySQL 8终于追赶上了Oracle 8 · 降序索引

姜承尧 IT界最会讲故事的男人 在已发布MySQL 8.0的版本说明中,降序索引(Descending Index)无疑是最为激动人心的特性。Oracle 8.0版本已支持Descending Index功能,MySQL 8.0也算是追上了老...

姜 承尧 ⋅ 2017/01/10 ⋅ 0

SQL Server Join方式

0.参考文献 Microsoft SQL Server企业级平台管理实践 看懂SqlServer查询计划 1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备。...

嗯哼9925 ⋅ 2017/12/21 ⋅ 0

初学Redis(3)——用Redis作为Mysql数据库的缓存

把Mysql结果集缓存到Redis的字符串或哈希结构中以后,我们面临一个新的问题,即如何为这些字符串或哈希命名,也就是如何确定它们的键。因为这些数据结构所对应的行都属于某个结果集,假如可以...

Airship ⋅ 2016/01/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 34分钟前 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

版本控制工具

CSV , SVN , GIT ,VSS

颖伙虫 ⋅ 昨天 ⋅ 0

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

lgsxp ⋅ 昨天 ⋅ 0

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部