eclipse 遍历mysql数据加查寻功能
来源:互联网 发布:svm推荐算法 编辑:程序博客网 时间:2024/05/02 05:04
环境:eclipse是j2ee LUNA版,MySQL是5.0.22
首先准备的是mysql的数据表
如下图
表的部分在前面说的很清楚了,这里就不在做解释了,需要的看的博友可以去我的博客里看看
现在准备的是4张表,实现的是一对多的关系
student表(有姓名年龄性别和地址,但是少了联系方式)
content表(这个是联系方式表)
表contact
表contact_desc
表contact_ext
注意搞清楚这几张表的关系,其实表contact_desc和contact_ext都是对contact的补充
现在先从navicat中用mysql语句查询结果
接下来就是在eclipse下编写Java代码了这里一样还是要导入mysql的jar包
servlet1.java中的代码
public class Jdbc2 extends HttpServlet{
private static String jdbcDriver = "com.mysql.jdbc.Driver";// mysql连接驱动,无需改
public static String jdbcUrl = "jdbc:mysql://localhost:3306/zdy";
public static String jdbcUser = "root";//数据库用户名
public static String jdbcPwd = "root";//数据库密码
private static Connection conn;
public static Statement st;
static {
try {
Class.forName(jdbcDriver);// 加载mysql驱动类
conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPwd);
// 驱动利用驱动地址,数据库用户名,密码创建连接
st = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
protected void service(HttpServletRequest request, HttpServletResponse response) //
throws ServletException, IOException {
List<Map> list =new ArrayList<Map>();
String str = request.getParameter("num");//这句是从前台的form表单里获取到值后面就可以输入任意数字查询了
try {
System.out.println(str);
String sql ="SELECT student.`name`,contact_desc.`desc`,contact_ext.contact\r\n"+
"FROM student\r\n"+
"JOIN contact_ext ON contact_ext.idcard=student.idcard\r\n"+
"JOIN contact_desc ON contact_desc.contact_type=contact_ext.contact_type\r\n"+
"WHERE student.idcard="+str;//str是上面传的值
ResultSet rs = st.executeQuery(sql);
//从数据库读取的内容,返回一个结果集。
System.out.println("获取数据");
while (rs.next()) {
String name = rs.getString("name");
String desc = rs.getString("desc");
String contact = rs.getString("contact");
Map map = new HashMap();
map.put("name", name);
map.put("desc", desc);
map.put("contact", contact);
list.add(map);
for (Map map1 :list) {
System.out.println(map1);
}
}//遍历结果集可以不写,只是方便在consle下查看不会输出到前端jsp页面
} catch (Exception e) {
e.printStackTrace();
}
request.setAttribute("list",list);
request.getRequestDispatcher("/test1.jsp").forward(request, response);
}
}
jsp页面代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<form action="jdbc2">
<input type="test" name="num" value="">
<input type="submit" value="submit">
<tr>
<c:forEach items="${list}" var="usr" varStatus="idx">
<tr>
<td>${usr.name}</td><td>${usr.desc}</td><td>${usr.contact}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
注意一下:这里是需要配置xml文件的
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>com.servlet.servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
上面就是整个流程现在我们看jsp输出的结果
比如我现在查idcard为1的联系方式有哪些并且具体数字是多少
现在查询idcard为2的联系方式和具体数字
这样我们就完成一套的流程
数据从mysql——servlet——jsp也可以说成是从jsp页面输入查询条件到servlet——mysql,然后在返回的mysql——servlet——jsp
欢迎各路大神指正,小弟不胜感激。
- eclipse 遍历mysql数据加查寻功能
- Mysql 慢查寻
- eclipse 加mysql驱动
- 查寻出不重复的数据
- 如何在整个数据库中查寻一条数据?
- mysql大数据:分区功能
- 如何给Python的MySQL模块加功能
- PHP/MYSQL 查询大数据/遍历表
- MYSQL存储过程循环遍历插入数据
- Mysql中如何实现某字段数据自动加1
- mysql分页加排序数据重复问题解决方案
- MySQL运算符可获更多数据功能
- PHP+MySQL实现插入数据功能
- mysql恢复数据功能一些笔记
- mysql跨服务器数据复制功能。
- Mongo数据进入Mysql功能开发
- LitePal 1.6.0版本来袭,数据加解密功能保障你的应用数据安全
- LitePal 1.6.0版本来袭,数据加解密功能保障你的应用数据安全
- poj-1656-Counting Black-(树状数组)
- h5兼容ie9以下版本
- Time类
- CCF 学生排队 C语言版
- Tcp协议简读
- eclipse 遍历mysql数据加查寻功能
- 您,适合Linux吗?
- 设置文字自动换行
- vim查找与替换
- R实战:【实战分析】大盘历年几月是行情?
- 畅通工程系列
- _CRT_SECURE_NO_WARNINGS the function may be unsafe
- 剖析扩容redis后碰到的一个异常情况
- 留言板的简单写法