本文将给出一个最简单的Java查询数据库中一张表的数据并将查询结果展示在页面的例子.

实际上,我们要解决以下两个问题:

Java与数据库交互(以JDBC为例)

数据展示在前台页面(以Servlet+JSP为例)

数据结构:

学生表(student)

student_id : 学号(主键,字符,非空)

student_name:学生姓名(字符,非空)

student_age:学生年龄(整型,非空)

附:数据库脚本和初始化数据(MySQL为例):

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `student`

-- ----------------------------

DROP TABLE IF EXISTS `student`;

CREATE TABLE `student` (

`student_id` varchar(255) NOT NULL,

`student_name` varchar(255) NOT NULL,

`student_age` int(11) NOT NULL,

PRIMARY KEY (`student_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of student

-- ----------------------------

INSERT INTO `student` VALUES ('1', 'zhangsan', '20');

INSERT INTO `student` VALUES ('2', 'lisi', '21');

INSERT INTO `student` VALUES ('3', 'wangwu', '19');

Java与数据库交互(以JDBC为例):

import java.sql.*;

public class Main {

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

static final String DB_URL = "jdbc:mysql://localhost/tt";

static final String USER = "root";

static final String PASS = "root";

public static void main(String[] args) throws Exception {

Connection conn = null;

Statement stmt = null;

//STEP 2: Register JDBC driver

Class.forName(JDBC_DRIVER);

//STEP 3: Open a connection

conn = DriverManager.getConnection(DB_URL,USER,PASS);

//STEP 4: Execute a query

stmt = conn.createStatement();

String sql;

sql = "SELECT student_id, student_name, student_age FROM student";

ResultSet rs = stmt.executeQuery(sql);

//STEP 5: Extract data from result set

while(null != rs && rs.next()){

String studentId = rs.getString("student_id");

String studentName = rs.getString("student_name");

int student_age = rs.getInt("student_age");

System.out.println("student_id: " + studentId);

System.out.println("student_name: " + studentName);

System.out.println("student_age: " + student_age);

System.out.println("-----------");

}

rs.close();

stmt.close();

conn.close();

}

}

需要注意:

1.运行这个程序需要下载MySQL驱动包:

2.这个程序肯定可以优化,利用之前学的封装,异常处理等知识优化一下这段代码。

3.试着实现对数据库的其他操作,比如增删改。

数据展示在前台页面(以Servlet+JSP为例):

输入页面input.jsp:

pageEncoding="UTF-8"%>

从前台到后台

type="submit" value="submit">

新建Servlet:HandleServlet.java 配置其URL Mappings为:/HandleServlet

在其doGet方法里面写以下代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String studentName = request.getParameter("studentName");

System.out.println("已经传到后台:"+studentName);

RequestDispatcher dispatcher = request.getRequestDispatcher("/output.jsp");

request.setAttribute("studentName",studentName);// 传回前台

dispatcher .forward(request, response);

}

输出界面:output.jsp

pageEncoding="UTF-8"%>

从后台到前台

欢迎:

将程序部署到Tomcat下,启动Tomcat,访问input,并输入学生名字,点击submit按钮,则:

1.HandleServlet接收到学生名字的输入并打印在控制台。

2.HandleServlet将学生名字传到output.jsp页面并展示出来。

需要注意:

1.代码肯定还可以优化,如:JSP页面可以采用JSTL标签来获取数据。

2.Eclipse配置tomcat参考:

到目前为止,将这一步和之前的与数据库连接结合起来,就可以实现页面展示在前台界面的功能,部分只实现静态页面的团队可以参考一下将自己的静态页面变为动态从数据库取数据的方式。

若能将取数据的过程发布成服务(如:webservice),也会是一个不错的方向,有想法的童鞋,可以试试看。

java获取mysql的数据_【助教】Java获取数据库数据展示相关推荐

  1. java读取mysql的图片_用JAVA写入和读取MYSQL的图片的实例

    主要的程序: package greeds.jdbc.sample; import greeds.jdbc.util.JDBCUtil; import java.io.*; import java.s ...

  2. jmeter提取mysql数据_通过jmeter读取数据库数据,并取值作为请求的入参

    为提升测试技能,督促自己学习.故写了这篇文章.测试小白一枚,最近感觉达到了自己认为的瓶颈期.总是有想法,想突破,但是无从入手.工具类用过fiddler.jmeter.charels.postman.. ...

  3. java链接mysql输出查询_用java做网站,java连接数据库并查询输出到页面

    java web的后缀名是jsp,所以咱们要有一个jsp的开发环境,我这用的是jspStudy 自行百度.这软件是一个集成开发环境,安装启动后即可使用,集成了tomcat和mysql数据库 首先我们先 ...

  4. java web mysql树形结构_用JAVA写的树结构代码 - WEB源码|JSP源码/Java|源代码 - 源码中国...

    压缩包 : 18743599Netbeanjtree.rar 列表 Netbeanjtree/jtree/build/built-jar.properties Netbeanjtree/jtree/b ...

  5. 基于JAVA springboot + MYSQL +VUE的项目管理系统(含数据库),包括工时统计、原型预览、效果图管理等

    平台介绍 无鱼工时管理系统,是一款轻量级工时记录和管理工具,包括项目管理,工时上报,工时日报,工时统计等功能. 无鱼工时管理系统可通过员工工时上报的方式,来记录项目所花费的工时,帮助企业进行项目工时统 ...

  6. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  7. mysql 左连接b表的一条数据_阿里java架构师教你怎么用mysql怒怼面试官

    转载地址: 阿里java架构教你怎么用mysql怒怼面试官​www.jianshu.com 说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了.后面我还会给出一个关于mysql面试优化 ...

  8. java 怎么获取object的数据_自学java,想将来从事大数据工作,现实吗?怎么学?...

    自学java,想将来从事大数据工作,怎么学? 我是大一通信工程的一名学生,我们学习的是C,但我将来想从事大数据开发的工作,我想向各位大佬请教一下,像我这种情况,自学java然后去从事大数据工作是不是不 ...

  9. java中获取文件总行数_关于java:如何以有效的方式获取文件中的行数?

    本问题已经有最佳答案,请猛点这里访问. 我有一个大文件. 它包括大约3.000-20.000行. 如何使用Java获取文件中的行总数? 从你的评论到答案来判断,你要找的词是"有效的" ...

  10. redis 什么是冷数据_阿里Java三面凉凉:微服务,Redis,JVM一个都搞不懂

    前言: 金九银十刚刚过去了,不知道很多小伙伴都拿到自己心仪的offer没有,我这边也收到了一个粉丝投来的消息,说看到阿里的面试真题之后人都是懵的,发现自己一窍不通,下面给大家分享我这个粉丝的经历,以及 ...

最新文章

  1. 基于深度学习算法和传统立体匹配算法的双目立体视觉
  2. 【Android UI设计与开发】第09期:底部菜单栏(四)Fragment+PopupWindow仿QQ空间最新版底部菜单栏
  3. wxWidgets:wxMouseEvent类用法
  4. PHP5.2至5.6的新增功能详解
  5. flume高可用-balance-测试运行
  6. 关于SAP S/4HANA里ABAP源代码管理功能的增强
  7. 更改linux子系统软件源为国内镜像
  8. python引入文件并执行_文件操作和导入os模块执行文件和目录管理操作
  9. 傅里叶变换对_复变函数6傅里叶变换
  10. mysql导入存储过程报错_mysql导入存储过程时declare报错的有关问题解决
  11. 电工与电子技术基础【2】
  12. Windows/Windows Server 控制面板(Control Panel) 打开方式 通用
  13. 几何畸变的类型_几何畸变分为()和()。
  14. 微信小程序加入购物车效果动画
  15. (转)MSDN Library “已取消到该网页的导航”解决办法
  16. VideoShow -视频编辑 v8.8.4rc (更新版)
  17. Linux清理文件内容的四种方式
  18. 英语练习day2 一般,否定疑问句,现表将来
  19. 批量修改文件后缀名 文件扩展名
  20. FS4052A是一个4.0-23V宽电压输入,2A充电电流单电池 同步降压锂离子电池充电器

热门文章

  1. JS用For循环实现斐波那契数列(及尾递归优化)
  2. 1099 例题6-1 逆序输出数组元素
  3. 一、Docker 简介与安装
  4. 【Python基础】①求两个整数的和与平均值
  5. Arduino学习笔记一:一篇讲明白什么是Arduino
  6. 绩效考核与企业如何结合?
  7. 谈谈如何高效学习开源项目
  8. 简单Cookie应用Demo
  9. 用友U8和旺店通企业版淘宝奇门单据接口集成
  10. spring框架(01)——spring入门