在DAO中写了一个查询数据库的代码,不知道是否正确!各位大侠帮忙看看代码,还有,不知道在JSP页面中如何将查询的结果显示出来!package com.DAO;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import com.bean.addUserBean;
import com.bean.UserBean;
import com.JDBC.GetConnection;public class DAO {
/**
* 连接数据库
*
*/
private Connection conn;
private PreparedStatement pstat;
String sql = ""; public List getInfo(UserBean user)
{
List users = new ArrayList();; //存放一个用户的所有信息
conn= GetConnection.getConnection();
try
{
String sql = "select * from Data where D_name = ?";
pstat = conn.prepareStatement(sql);
pstat.setString(1, user.getName());
ResultSet rs = pstat.executeQuery();
while(rs.next()){
int id = rs.getInt(1);
String name = rs.getString(2);
String use = rs.getString(3);
String sex = rs.getString(4);
String age = rs.getString(5);
String phone = rs.getString(6);
String qq = rs.getString(7);
String school = rs.getString(8);
String specialty = rs.getString(9);
String address = rs.getString(10);
UserBean user0 = new UserBean(); // 封装每条用户信息
user0.setId(id);
user0.setName(name);
user0.setUse(use);
user0.setSex(sex);
user0.setAge(age);
user0.setPhone(phone);
user0.setQq(qq);
user0.setSchool(school);
user0.setSpecialty(specialty);
user0.setAddress(address);
users.add(user0);
}
rs.close();
pstat.close();
conn.close();
}
catch
(SQLException e)
{
e.printStackTrace();
}
return users;
}
}
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import com.bean.addUserBean;
import com.bean.UserBean;
import com.JDBC.GetConnection;public class DAO {
/**
* 连接数据库
*
*/
private Connection conn;
private PreparedStatement pstat;
String sql = ""; public List getInfo(UserBean user)
{
List users = new ArrayList();; //存放一个用户的所有信息
conn= GetConnection.getConnection();
try
{
String sql = "select * from Data where D_name = ?";
pstat = conn.prepareStatement(sql);
pstat.setString(1, user.getName());
ResultSet rs = pstat.executeQuery();
while(rs.next()){
int id = rs.getInt(1);
String name = rs.getString(2);
String use = rs.getString(3);
String sex = rs.getString(4);
String age = rs.getString(5);
String phone = rs.getString(6);
String qq = rs.getString(7);
String school = rs.getString(8);
String specialty = rs.getString(9);
String address = rs.getString(10);
UserBean user0 = new UserBean(); // 封装每条用户信息
user0.setId(id);
user0.setName(name);
user0.setUse(use);
user0.setSex(sex);
user0.setAge(age);
user0.setPhone(phone);
user0.setQq(qq);
user0.setSchool(school);
user0.setSpecialty(specialty);
user0.setAddress(address);
users.add(user0);
}
rs.close();
pstat.close();
conn.close();
}
catch
(SQLException e)
{
e.printStackTrace();
}
return users;
}
}
解决方案 »
- 怎么在javascript的按钮点击事件里,向一个div输出jsp里的内容?
- 关于java做管理系统的权限
- 巴巴运动网
- SOA架构平台JUNO FOR JAVA,全面启动公测
- 创建一个复选框和一个选择框,当选中复选框时,显示选择框,不选中时,隐藏选择框,怎么实现?
- org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart bou
- 新手高分求教,jsp连接数据库的问题。
- 网站的用户密码保存在哪里?
- HELP ME! package byyl does not exist是怎么回事啊?
- 怎么按一个按钮调用一个jsp 文件在一个新的窗口中打开?谢谢
- struts2 晕死好像稍微改了下web.xml就出问题了郁闷死
- 把图片相对路径存储到oracle数据库,如何在jsp中调用显示
没有通过Servlet怎么调用这个数据库执行的方法呢?
JSP里不会写,大侠能贴出代码不?
第一次接触List,JSP中写不来~
JSP中没写过这个标签的代码,能贴代码出来不?万分感谢!
UserBean user;
while(it.hasNext())
{
user=it.next();
//处理这个对象...
}
请问,怎么把这个放到JSP里?
需要在JSP页面导入哪些东西~最终的结果,我想要在JSP页面实现 <%= name %>,这样的格式来显示从数据库查询后获取到的结果。
大家,帮帮忙~ 挺急的!
就是写不来~
<s:iterator value="list"><s:property value="name"/><s:iterator/>
不行啊~uri不知道该填什么路径,而且,我要显示的这些结果都是要放在组件里的,比如:地址:<input name="address" type="text" size="30" value=<%= address %> maxlength="25" />
<c:forEach var="item" test="${list}" > //${list} list放在request或session里
${item.xxx} //item就遍历出来的,list的对象
</c:forEacn>
登陆,注册的功能都实现了,现在在JSP页面显示从数据库查询的内容,这个写不来了!这个系统,文件结构如下:
1、数据库的JDBC链接单独放在了 GetConnection.java 这个文件里。
2、有一个包,是专门存放各类的 Bean文件的。(UserBean.java 该文件是用户资料的Bean)(addUserBean.java 该文件是用户登录账号、密码、权限级别的Bean)
3、有一个包,是专门存放各类的 Servlet文件的。
4、然后就是专门处理数据库语句的 DAO.java 文件
5、最后就是各类的JSP文件了!不知道以这样的文件结构,如何实现数据库查询,如何将查询的结果显示在JSP页面上。
思路和代码,都不懂!大家能否帮帮忙~ 谢谢各位大侠了!
不行啊,这个只是一个循环体,可以直接用For方法来循环,可是怎么在JSP页面定义List对象,怎么调用 DAO 中的getInfo()方法?
我也觉得代码这门学问,有很多方法可以解决同一个问题!
可是,问题是这个系统是我第一次写的系统,查询后的结果显示在JSP页面上,这个还没写过,完全不懂怎么写~
大家能贴出对应我那查询的java代码的JSP页面的代码么?
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="org.apache.taglibs.standard.tag.common.core.ForEachSupport"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page isELIgnored="false" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<%
//在此定义一个List并调用后台方法!
List list = DAO.getInfo();
//之后将查出来的数据存入一个地方,session,request,page都行,这里我就存request
request.setAttribute("list",list);
%>
<!--
之后取出来,可以用struts2标签,也能用JSTL和EL表达式,看你这样子应该是后者!
最上面加上这一行,否则你就用不了JSTL <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
再加上这行,让EL表达式不需要任何载体,不记得是写false,还是true了,你试下!<%@ page isELIgnored="false" %>
-->
<!-- 下面是用JSTL输出你查出来的LIST -->
<!-- 我就当集合中的对象中有AA这个属性,把它输出 -->
<c:forEach items="${requestScope.list}" var="list">
${list.aa}
</c:forEach>
<!-- 或者下面这样输出也行 -->
<%
for(int i = 0 ; i < list.size() ; i++){
%>
<lable><%=list.get(i).aa %></lable>
<%
}
%>
</body>
</html>
什么都好说,给分就好!
那用小脚本吧要么这样不过这种在页面掉用dao,还是不好,你不用控制层吗?
<jsp:useBean id="xx" class="xx.Dao" ></jsp:useBean>
<jsp:getProperty property="" name="xx.info"/>
把 <base href="<%=basePath%>"> 这句删了,没报错,不过页面没反应,没有东西显示出来!连null都没有!换第二种,用<%
for(int i = 0 ; i < list.size() ; i++){
%>
<lable><%=list.get(i).name %></lable>
<%
}
%>
报错!
那么是不是就能用List这个数组来存?
//java的代码
User user=userService.findById(1);//在servlet里将用户查询出来
request.setAttribute("users",user); //保存到request里面在jsp页面就可以通过el表达式取出来了jsp页面就类似这样写<input name="username" type="text" size="30" value"${users.username}" maxlength="25" />
<input name="pwd" type="text" size="30" value"${users.pwd}" maxlength="25" />
<input name="address" type="text" size="30" value"${users.address}" maxlength="25" />
调用的方式不要用<jsp:XXX ><jsp:XXX />这种标签,而是单个简单的<%= XXX %>或<%= XX.getXXX()%>这种标签来获得!25楼的朋友,这些我想要的都是反复强调过的~
User 是JavaBean类名么?userService.findById(1);是查询数据库的DAO类和该类里的方法么?还有,查询的 findById(1);方法的代码怎么写呢?
我这里是指根据id查询某个用户出来,像你的话可以这样
List<User> list=userService.findListByCondition(String username,Integer userId,String email);
userService是service层,service层会调用dao层的代码获取到数据,像你的查询语句啥的都是在daoImple里写的,@SuppressWarnings("unchecked")
public List<CepDataDict> getListByType(String type) {
String hql = "from CepDataDict bean where bean.type=? order by bean.itemOrder ";
Query query = getSession().createQuery(hql);
query.setParameter(0, type); return query.setCacheable(true).list();
}你那边按自己的需要改改就好了