这里撇开Spring和Hibernate不谈,直接在Struts2下使用DAO封装数据库操作,进行简单的数据库访问操作。实现的效果大致是在初始页面输入一个需要查询的人名,然后访问数据库,将查询到的结果返回给结果页面。本篇博文仅呈现一个大致的流程,并不给出具体的解释。
大致的效果如下两幅图显示:
项目实现流程:
1. 源代码包安排:
action 动作包
dao DAO包
dao.impl DAO接口的实现类包
entity 实体包
util 工具包(数据库访问工作类等,这里不展示)
2. 数据库中的内容如下
3. 封装admin表——User.java类
public class User { private int id; private String name; private String password; getter/setter }
import cn.myseu.entity.User; public interface UserDao { public User query(String name); }
public class UserDaoImpl implements UserDao { @Override public User query(String name) { String sql = "select * from admin where name=?"; Connection conn = DBUtil.getConn(); PreparedStatement pstmt; try { pstmt = conn.prepareStatement(sql); pstmt.setString(1,name); ResultSet rs = pstmt.executeQuery(); if (rs.next()) { int id = rs.getInt("id"); String password = rs.getString("password"); User user = new User(); user.setId(id); user.setName(name); user.setPassword(password); return user; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }
namequery.jsp 核心内容
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>DBTest</title> </head> <body> <hr> <h3>Who do you want to check</h3> <h4>Input the name:</h4> <s:form action="CheckDB"> <s:textfield name="name" label="Your name" /> <s:submit /> </s:form> </body> </html>
<body> <h4>Checking results:</h4> <h2><s:property value="queryResult" /></h2> </body>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <action name="QueryResult"> <result>/namequery.jsp</result> </action> <action name="CheckDB" class="cn.myseu.action.CheckDB"> <result name="SUCCESS">/dbresult.jsp</result> </action> </package> </struts>
public class CheckDB{ public String execute() throws Exception { setQueryResult(query(getName())); return "SUCCESS"; } private String query(String name){ UserDao dao = new UserDaoImpl(); User user = dao.query(name); return "name:"+user.getName()+" password:"+user.getPassword(); } private String name; private String queryResult; public String getQueryResult() { return queryResult; } public void setQueryResult(String queryResult) { this.queryResult = queryResult; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Struts2+DAO下的开发流程,布布扣,bubuko.com
原文:http://blog.csdn.net/tao_sun/article/details/20369479