为什么List.add()所增加的数据都是一样的
1. 先上代码:
List<Person> list = new ArrayList<>();
Person p = new Person();
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("加载数据库驱动成功!");
System.out.println("数据库连接成功!");
st = con.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
Person p = new Person();
p.setId(rs.getString("code"));
p.setName(rs.getString("name"));
p.setCode(rs.getString("code"));
p.setCardid(rs.getString("cardid"));
p.setSex(rs.getString("sex"));
p.setBirthday( rs.getString("birthday"));
p.setPhone(rs.getString("phone"));
p.setCorp_code(rs.getString("corp_code"));
p.setDept_code(rs.getString("dept_code"));
p.setPk_psndoc(rs.getString("pk_psndoc"));
list.add(p); }
}catch(Exception e){
//System.out.println("找不到驱动程序类,加载驱动失败!");
e.printStackTrace();
}
2. 通过代码不难发现,我把实体类创建的对象放在了循环外面,每一次从数据库取得数据存到实体类中时,都是同一个实体类,在就造成了每次从List集合中取数据时,都是插入的最后一条数据,作为码农切记细心。
为什么List.add()所增加的数据都是一样的的更多相关文章
- [ios]利用alertView 插入数据都数据库。笔记
利用alertView 插入数据都数据库 -(void)addItemToList { UIAlertView *alter=[[UIAlertViewalloc]initWithTitle:@&qu ...
- MongoDB 倾向于将数据都放在一个 Collection 下吗?
不是这样的. Collection 的单个 doc 有大小上限,现在是 16MB,这就使得你不可能把所有东西都揉到一个 collection 里.而且如果 collection 结构过于复杂,既会影响 ...
- 如何保证redis数据都是热点数据
mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据? 1.限定 Redis 占用的内存,Redis 会根据自身数据淘汰策略,加载热数据到内存.所以,计算 ...
- Vertica增加一个数据存储的目录
Vertica增加一个数据存储的目录 操作语法为: ADD_LOCATION ( 'path' , [ 'node' , 'usage', 'location_label' ] ) 各节点添加目录,并 ...
- Spark会把数据都载入到内存么
转载自:https://www.iteblog.com/archives/1648 前言: 很多初学者其实对于Spark的编程模式还是RDD这个概念理解不到位,就会产生一些误解.比如,很多时候我们常常 ...
- 关于.net 中Clipboard.GetDataObject() 之后读出数据读出的数据都是相同的解决方法
模拟键盘sendkey("^c") 多次复制之后 当使用Clipboard.GetDataObject() 读出数据都是一个值 经过多次尝试 提供一个解决方案 IDataObjec ...
- 把项目中的那些恶心的无处存储的大块数据都丢到FastDFS之快速搭建
在我们开发项目的时候,经常会遇到大块数据的问题(2M-100M),比如说保存报表中1w个人的ID号,他就像一个肿瘤一样,存储在服务器哪里都 觉得恶心,放在redis,mongodb中吧,一下子 ...
- 把项目中那些恶心的无处存储的大块数据都丢到FastDFS之快速搭建
在我们开发项目的时候,经常会遇到大块数据的问题(2M-100M),比如说保存报表中1w个人的ID号,他就像一个肿瘤一样,存储在服务器哪里都 觉得恶心,放在redis,mongodb中吧,一下子 ...
- arcgis python arcpy add data script添加数据脚本
arcgis python arcpy add data script添加数据脚本mxd = arcpy.mapping.MapDocument("CURRENT")... df ...
随机推荐
- centos6和7关闭防火墙
centos6 service iptables stop 临时 chkconfig iptables off 永久 service iptables status centos7 sys ...
- SaltStack 安装配置 centos7
参考文档 http://docs.saltstack.cn/contents.html 快速安装 初始配置 控制端master配置 # vim /etc/salt/master interface: ...
- git 不区分文件大小写的处理
- Java Selenium - 浏览器操作
浏览器主要操作方法来自接口 org.openqa.selenium.WebDriver , 实现于org.openqa.selenium.remote.RemoteWebDriver这个类,然后不同浏 ...
- python socket 老生常谈
没啥可说的,直接看代码 //server import socket s = socket.socket() host = socket.gethostname() print 'host: ', h ...
- python filter函数应用,过滤字符串
>>> candidate = 'dade142.;!0142f[.,]ad' >>> filter(str.isdigit, candidate) #保留数字 ' ...
- iOS UIViewController生命周期控制
具体流程,看下图: init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身 loadView方法当view需要被展示而它却是nil ...
- centos执行-查看,复制,删除-命令的脚本
==================================================================================================== ...
- InstallShield2015制作安装包----------安装后实现自动运行
安装向导完成后,自动运行. 实现的手段是:InstallScript脚本OnEnd()函数里面,调用可执行程序. 备注:INSTALLDIR预定义变量存放着程序的安装目录. //安装后运行dispat ...
- C#学习入门第一篇
1. using System; using System.Collections.Generic; using System.Ling; using System.Text; using Syste ...