这里撇开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