JDBC连接到数据库查询打印数据
通过一天的视频学习,认识了jdbc的连接原理前来小结:
游标读取数据库表的行一次读取一个,getXxx()方法读取表的列一个数据
next()方法可以让游标下移
可以把数据库的表看做是一个类,每条记录就是一个对象,所以要封装表
测试类 Jdbc08 .java
- /**
- * 练习查询 db4的emp数据然后打印
- * 定义一个方法,查询emp表的数据将其封装为对象,然后装在集合.
- * 1.定义类emp类
- * 2.定义方法public 返回List<Emp> findAll()
- * 3.实现方法 select * from emp
- * @author 三只坚果
- * @date 2019/9/14 21:17
- */
- public class Jdbc08 {
- public static void main(String[] args) {
- List<Emp> all = new Jdbc08().findAll();
- all.forEach(System.out::println);
- System.out.println(all.size()+"条记录");
- }
- public List<Emp> findAll(){//查询所有emp数据
- Connection conn =null;
- Statement statement =null;
- ResultSet rs =null;
- List<Emp> list=null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db4", "root", "123");
- String sql="select * from emp";
- statement = conn.createStatement();
- rs = statement.executeQuery(sql);//rs是游标指向一行,getXxx("参数")指中列的一个数据,所以选中一个数据
- //遍历结果,封装对象装在集合
- Emp emp=null;
- list= new ArrayList<>();
- while (rs.next()){
- int id = rs.getInt("id");
- String ename = rs.getString("ename");
- int job_id = rs.getInt("job_id");
- int mgr = rs.getInt("mgr");
- Date joindate = rs.getDate("joindate");
- double salary = rs.getDouble("salary");
- double bouns = rs.getDouble("bonus");
- int dept_id = rs.getInt("dept_id");
- //封装对象
- emp=new Emp();
- emp.setId(id);
- emp.setEname(ename);
- emp.setJob_id(job_id);
- emp.setMgr(mgr);
- emp.setJoindate(joindate);
- emp.setSalary(salary);
- emp.setBouns(bouns);
- emp.setDept_id(dept_id);
- list.add(emp);
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- }finally {//释放资源
- if (rs!=null){
- try {
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- if (statement!=null){
- try {
- statement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- if (conn!=null){
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- return list;
- }
- }
- /**
- * 晚安!
- * @author BinPeng
- * @date 2019/9/14 22:04
- */
Emp.java 封装类 ALT+INSERT IDEA快捷键自动生成!!!
- package HeiMaSQL02.emp08;
- import java.util.Date;
- /**
- * 封装Emp表
- * @author BinPeng
- * @date 2019/9/14 21:24
- */
- public class Emp {
- private int id;
- private String ename;
- private int job_id;
- private int mgr;
- private Date joindate;
- private double salary;
- private double bouns;
- private int dept_id;
- @Override
- public String toString() {
- return "Emp{" +
- "id=" + id +
- ", ename='" + ename + '\'' +
- ", job_id=" + job_id +
- ", mgr=" + mgr +
- ", joindate=" + joindate +
- ", salary=" + salary +
- ", bouns=" + bouns +
- ", dept_id=" + dept_id +
- '}';
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getEname() {
- return ename;
- }
- public void setEname(String ename) {
- this.ename = ename;
- }
- public int getJob_id() {
- return job_id;
- }
- public void setJob_id(int job_id) {
- this.job_id = job_id;
- }
- public int getMgr() {
- return mgr;
- }
- public void setMgr(int mgr) {
- this.mgr = mgr;
- }
- public Date getJoindate() {
- return joindate;
- }
- public void setJoindate(Date joindate) {
- this.joindate = joindate;
- }
- public double getSalary() {
- return salary;
- }
- public void setSalary(double salary) {
- this.salary = salary;
- }
- public double getBouns() {
- return bouns;
- }
- public void setBouns(double bouns) {
- this.bouns = bouns;
- }
- public int getDept_id() {
- return dept_id;
- }
- public void setDept_id(int dept_id) {
- this.dept_id = dept_id;
- }
- }
emp 数据库表 (数据库都给你备好了!够意思吧!!!)
- /*
- Navicat MySQL Data Transfer
- Source Server : first
- Source Server Type : MySQL
- Source Server Version : 50725
- Source Host : localhost:3306
- Source Schema : db4
- Target Server Type : MySQL
- Target Server Version : 50725
- File Encoding : 65001
- Date: 14/09/2019 22:15:35
- */
- SET NAMES utf8mb4;
- SET FOREIGN_KEY_CHECKS = 0;
- -- ----------------------------
- -- Table structure for emp
- -- ----------------------------
- DROP TABLE IF EXISTS `emp`;
- CREATE TABLE `emp` (
- `id` int(11) NOT NULL,
- `ename` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
- `job_id` int(11) NULL DEFAULT NULL,
- `mgr` int(11) NULL DEFAULT NULL,
- `joindate` date NULL DEFAULT NULL,
- `salary` decimal(7, 2) NULL DEFAULT NULL,
- `bonus` decimal(7, 2) NULL DEFAULT NULL,
- `dept_id` int(11) NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `emp_jobid_ref_job_id_fk`(`job_id`) USING BTREE,
- INDEX `emp_deptid_ref_dept_id_fk`(`dept_id`) USING BTREE,
- CONSTRAINT `emp_deptid_ref_dept_id_fk` FOREIGN KEY (`dept_id`) REFERENCES `dept` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
- CONSTRAINT `emp_jobid_ref_job_id_fk` FOREIGN KEY (`job_id`) REFERENCES `job` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
- ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
- -- ----------------------------
- -- Records of emp
- -- ----------------------------
- INSERT INTO `emp` VALUES (1001, '啦啦', 4, 1004, '2000-12-17', 8000.00, NULL, 20);
- INSERT INTO `emp` VALUES (1002, '吖吖', 3, 1006, '2001-02-20', 16000.00, 3000.00, 30);
- INSERT INTO `emp` VALUES (1003, '啊吖', 3, 1006, '2001-02-22', 12500.00, 5000.00, 30);
- INSERT INTO `emp` VALUES (1004, '订单', 2, 1009, '2001-04-02', 29750.00, NULL, 20);
- INSERT INTO `emp` VALUES (1005, '李方法', 4, 1006, '2001-09-28', 12500.00, 14000.00, 30);
- INSERT INTO `emp` VALUES (1006, '宋方法', 2, 1009, '2001-05-01', 28500.00, NULL, 30);
- INSERT INTO `emp` VALUES (1007, '发', 2, 1009, '2001-09-01', 24500.00, NULL, 10);
- INSERT INTO `emp` VALUES (1008, '猪发', 4, 1004, '2007-04-19', 30000.00, NULL, 20);
- INSERT INTO `emp` VALUES (1009, 'utah', 1, NULL, '2001-11-17', 50000.00, NULL, 10);
- INSERT INTO `emp` VALUES (1010, '吴让她', 3, 1006, '2001-09-08', 15000.00, 0.00, 30);
- INSERT INTO `emp` VALUES (1011, '沙让他', 4, 1004, '2007-05-23', 11000.00, NULL, 20);
- INSERT INTO `emp` VALUES (1012, '李让他', 4, 1006, '2001-12-03', 9500.00, NULL, 30);
- INSERT INTO `emp` VALUES (1013, '饿龙', 4, 1004, '2001-12-03', 30000.00, NULL, 20);
- INSERT INTO `emp` VALUES (1014, '饿', 4, 1007, '2002-01-23', 13000.00, NULL, 10);
- SET FOREIGN_KEY_CHECKS = 1;
JDBC连接到数据库查询打印数据的更多相关文章
- JDBC连接mysql数据库,添加数据
如下:其中添加/删除/修改只是sql字符串不同 //3.要执行的字符串 String sql="INSERT INTO t_student(NAME,age,email) VALUES('x ...
- 分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)
分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目 ...
- C#连接Oracle数据库查询数据
C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; u ...
- JDBC连接MySQL数据库代码模板
下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- JDBC连接Oracle数据库的问题
场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一 ...
- java用JDBC连接MySQL数据库的详细知识点
想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...
随机推荐
- MySQL--INSERT INTO ... ON DUPLICATE KEY UPDATE ...
转自:https://my.oschina.net/iceman/blog/53735 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQ ...
- vue 常用知识点
1.数据变更,页面渲染完成 this.$nextTick(function(){ alert('v-for渲染已经完成') }) 2.iview select组件 setQuery用法 <Sel ...
- Python基础学习四
Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...
- goweb-表单
表单 简单的处理一个登陆界面 package main import ( "fmt" "html/template" "log" " ...
- E、阔力梯的树
题:https://ac.nowcoder.com/acm/contest/4010/E?&headNav=acm 分析:dsu.贪心方法:考虑插入一个值x,对总体贡献,若查找在序列中左边有值 ...
- 利用CSS制作背景变色的横向导航栏
1.表单 页面如下: <html> <head> <title>注册表单页面</title> </head> <body> &l ...
- 第二代网关GateWay搭建流程
Spring Cloud第二代网关GateWay是由纯Netty开发,底层为Reactor,WebFlux构建,不依赖任何Servlet容器,它不同于Zuul,使用的是异步IO,性能较Zuul提升1. ...
- java.lang.IllegalArgumentException: Cannot format given Object as a Date
在进行日期转换的时候遇到了这个问题, 非常的恼火 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" ...
- 004.前端开发知识,前端基础CSS(2020-01-09)
一.CSS字体样式属性 1.font-size:字号大小 2.font-family:字体 font-family属性用于设置字体.网页中常用的字体有宋体.微软雅黑.黑体等. * { /*font-f ...
- 扩增|feather evolution
Wool vs feather 扩增方法:1.Gene Duplication2.Genome Duplication3.Cluster 哺乳动物毛发和鸟类的羽毛,都来自于角蛋白. 羽毛进化图 DNA ...