Java学习笔记40(sql:将数据库内数据存入对象中)
新建一个数据表:
use qy97;
create table student(
id int primary key auto_increment,
sname varchar(50),
gander varchar(50),
age int,
score int
);
insert into student values
(1,'张三','男',18,20),
(2,'小红','女',17,97),
(3,'小明','男',22,100),
(4,'小强','男',16,80),
(5,'小花','女',20,99);
然后我们用Java代码来读取该数据库的所有信息,并将每一条信息都放进一个学生对象中,首先需要建一个学生类,类名与表名一致,并且类中的属性也要与表中的属性一致,实现get和set方法,要注意数据类型,代码如下:
package com.zs.Demo; public class Student {
private int id;
private String sname;
private String gander;
private int age;
private int score; public Student(){
super();
} public Student(int id, String sname, String gander, int age, int score) {
this.id = id;
this.sname = sname;
this.gander = gander;
this.age = age;
this.score = score;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getSname() {
return sname;
} public void setSname(String sname) {
this.sname = sname;
} public String getGander() {
return gander;
} public void setGander(String gander) {
this.gander = gander;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public int getScore() {
return score;
}
// 重写tostring 方法方便查看
@Override
public String toString() {
return "Student{" +
"id=" + id +
", sname='" + sname + '\'' +
", gander='" + gander + '\'' +
", age=" + age +
", score=" + score +
'}';
} public void setScore(int score) {
this.score = score;
} }
然后链接数据库查询所有数据,并将数据存入对象中,将对象存入集合中,调用之前写的JDBCUtils工具类:
package com.zs.Demo; import JDBCUtils.JDBCUtils; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList; public class Demo3 {
public static void main(String[] args) {
try {
getStudent();
} catch (SQLException e) {
e.printStackTrace();
}
} private static void getStudent() throws SQLException {
Connection conn = JDBCUtils.getConnection();
String sql="select * from student;";
PreparedStatement pre = conn.prepareStatement(sql);
//执行sql语句,得到结果集
ResultSet rs = pre.executeQuery();
// 创建集合存储对象
ArrayList<Student> stuArr = new ArrayList<>();
while (rs.next()) {
Student s = new Student();
// 设置对象的变量值
s.setId(rs.getInt("id"));
s.setSname(rs.getString("sname"));
s.setGander(rs.getString("gander"));
s.setAge(rs.getInt("age"));
s.setScore(rs.getInt("score"));
// 将对象添加至集合
stuArr.add(s);
}
for (Student student : stuArr) {
System.out.println(student);
}
}
}
运行结果:
Java学习笔记40(sql:将数据库内数据存入对象中)的更多相关文章
- Java学习笔记:基本输入、输出数据操作实例分析
Java学习笔记:基本输入.输出数据操作.分享给大家供大家参考,具体如下: 相关内容: 输出数据: print println printf 输入数据: Scanner 输出数据: JAVA中在屏幕中 ...
- 【初学Java学习笔记】SQL语句调优
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认 ...
- Java学习笔记之[ 利用扫描仪Scanner进行数据输入 ]
/*********数据的输入********//**利用扫描仪Scanner进行数据输入 怎么使用扫描仪Scanner *1.放在类声明之前,引入扫描仪 import java.util.Scann ...
- Java学习笔记40(缓冲流)
缓冲流: 在读写文件的各种流中,最令人烦恼的就是效率问题, 而缓冲流的目的就是提高读写效率 字节输出缓冲流: package demo; import java.io.BufferedOutputSt ...
- 【转】JAVA学习笔记----PL/SQL最差实践
1. 超长的PL/SQL代码 影响:可维护性,性能 症状: 在复杂的企业应用中,存在动辄成百上千行的存储过程或上万行的包.为什么是最差: 太长的PL/SQL代码不利于阅读,第三方工 ...
- Spring学习笔记3——使用注解的方式完成注入对象中的效果
第一步:修改applicationContext.xml 添加<context:annotation-config/>表示告诉Spring要用注解的方式进行配置 <?xml vers ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 20145230《java学习笔记》第九周学习总结
20145230 <Java程序设计>第9周学习总结 教材学习内容 JDBC JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作, ...
随机推荐
- 解决CentOS6.5虚拟机克隆后无法上网(网卡信息不一致)的问题
一.问题描述 虚拟机克隆后,由于网卡信息不一致的问题,导致不能上网或者执行“service network restart”命令失败 [root@lyy 桌面]# ifconfig //查看当前网卡信 ...
- Android 性能优化之内存泄漏检测以及内存优化(中)
https://blog.csdn.net/self_study/article/details/66969064 上篇博客我们写到了 Java/Android 内存的分配以及相关 GC 的详细分析, ...
- ElasticSearch(七) Elasticsearch在Centos下搭建可视化服务
要想可视化ElasticSearch,就需要安装一些插件,安装插件的前提是安装所依赖的环境,比如java,maven等,本篇博文就不再走那些流程了.没安装的童鞋可以看我的ElasticSearch栏目 ...
- ORA-00600: internal error code, arguments: [kcblin_3], [103], [253952], [8192], [32769], [312], [640], [], [], [], [], []解决方法
昨晚,一SQL执行的时候报了ORA-00600: internal error code, arguments: [kcblin_3], [103], [253952], [8192], [32769 ...
- inotify+rsync架构实现实时同步
前序 使用inotify+rsync架构实现(文件夹/文件)实时同步, 双机之间需要ssh免密码配置(两步完成ssh免密码登录) 环境 客户端:192.168.137.176 (rsync + ino ...
- D2欧拉路,拓扑排序,和差分约束
第一题:太鼓达人:BZOJ3033 题意:给出k,求一个最长的M位01串,使其从每一个位置向后走k个得到 的M个k位01串互不相同(最后一个和第一个相邻,即是一个环).输出 字典序最小的答案. 2 ≤ ...
- SSM-网站后台管理系统制作(2)---SSM基本工作原理
SSM基本工作原理 讲解网站:https://www.w3cschool.cn/wkspring/dcu91icn.html 构建基本工作环境: mysql eclipse(tomcat8.0) Hb ...
- 5th,Python购物车模拟
1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退 ...
- MATLAB绘图功能(2) 二维底层绘图修饰
文末源代码 部分源代码 % x=0:0.1:2*pi; % y=sin(x); % plot(x,y); % line对象 % h = line([-pi:0.01:pi],sin([-pi:0. ...
- https 适配
1info plist <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryL ...