用mvc框架查询数据库数据
介绍下mvc框架,mvc框架一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
首先我们要新建一个项目

然后在src文件夹下新建四个包
分别为entity、DAO、servlet、tools

在entity下新建一个实体User

package entity;
public class User {
private String userID;
private String username;
private String userword;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserword() {
return userword;
}
public void setUserword(String userword) {
this.userword = userword;
}
}
然后在DAO下新建一个class名字为userdao
代码如下
package DAO; import java.util.*;
import java.sql.*; import entity.*;
import DBHelper.DBHelper; public class Userdao {
//String SQL="SELECT*FROM users";
// ResultSet rs= DBHelper.getResultSet(SQL);
//return tools.resultSetTolist(rs.User.class);
public boolean insert(User u){
String SQL="INSERT INTO user(userID,username,password) VALUES(?,?,?)";
Object[] params=new Object[]{u.getUserID(),u.getUsername(),u.getUserword()};
int n=DBHelper.ExecSql(SQL,params);
if(n>0) return true;
else return false; } public List getAllUser()
{
try{
String SQL="SELECT*FROM users";
ResultSet rs= DBHelper.getResultSet(SQL);
List users=new ArrayList();
while(rs.next())
{
User u=new User();
u.setUserID(rs.getString("userID"));
u.setUsername(rs.getString("username"));
u.setUserword(rs.getString("password"));
users.add(u);
}
return users;
}catch(Exception ex){return null;} } } package dao; import java.util.*;
import java.sql.*; import entity.*;
import DBHelper.DBHelper; public class Userdao {
//String SQL="SELECT*FROM users";
// ResultSet rs= DBHelper.getResultSet(SQL);
//return tools.resultSetTolist(rs.User.class);
public boolean insert(User u){
String SQL="INSERT INTO user(userID,username,password) VALUES(?,?,?)";
Object[] params=new Object[]{u.getUserID(),u.getUsername(),u.getUserword()};
int n=DBHelper.ExecSql(SQL,params);
if(n>0) return true;
else return false; } public List getAllUser()
{
try{
String SQL="SELECT*FROM users";
ResultSet rs= DBHelper.getResultSet(SQL);
List users=new ArrayList();
while(rs.next())
{
User u=new User();
u.setUserID(rs.getString("userID"));
u.setUsername(rs.getString("username"));
u.setUserword(rs.getString("password"));
users.add(u);
}
return users;
}catch(Exception ex){return null;} } }
在servlet下新建一个servlet名字为Userservlet
代码如下
package servlet; import java.io.*;
import java.util.*; import javax.security.auth.message.callback.PrivateKeyCallback.Request;
import javax.servlet.*;
import javax.servlet.http.*; import dao.*;
import entity.*;
import DBHelper.*;
public class Userservlet extends HttpServlet { /**
* Constructor of the object.
*/
public Userservlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} /**
* The doPost method of the servlet. <br>
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String type=request.getParameter("type");
Userdao dao=new Userdao();
List<User> users=(List<User>)dao.getAllUser();
//List users=dao.getAllUser();
request.getSession().setAttribute("users", users);
response.sendRedirect("../User.jsp");
//request.setAttribute("users", users);
// RequestDispatcher rd=request.getRequestDispatcher(type);
//.sendRedirect("../User.jsp"); } /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
在WebRoot下新建文件User.jsp
<%@ page language="java" import="java.util.*,dao.*,DBHelper.*,entity.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <title>User.jsp</title> </head> <body>
<%
List<User>users = (List<User>)session.getAttribute("users");
//String uid=request.getParameter("userID"); //String uname=request.getParameter("username");
//String password=request.getParameter("password");
//out.print("用户ID:"+uid+"<hr/>");
//out.print("姓名:"+uname+"<hr/>");
//out.print("密码:"+password+"<hr/>"); out.print("<table border=1 cellspacing=1>");
out.print("<tr><td>id</td><td>用户名</td><td>密码</td></tr>");
for(User u:users)
{
out.print("<tr>");
out.print("<td>"+u.getUserID()+"</td>");
out.print("<td>"+u.getUsername()+"</td>");
out.print("<td>"+u.getUserword()+"</td>");
out.print("</tr>"); }
out.print("</table>");
%>
</body>
</html>
将DBHelper复制到tools包下
然后运行Userservlet

得到数据库数据
注意:数据库用户名和密码在DBHelper.java里更改

有不对的地方欢迎指正,谢谢!
用mvc框架查询数据库数据的更多相关文章
- 资料:MVC框架+SQL Server 数据集成引擎
ylbtech-资料:MVC框架+SQL Server 数据集成引擎 1.返回顶部 1. 功能特点: MVC框架耦合性低视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样 ...
- android sqlite使用之模糊查询数据库数据的三种方式
android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ...
- pb中遍历查询数据库数据问题(数据库为 sql server)
指针可以实现但是不推荐 例如:(部分代码) for ll_a = 1 to ll_count ll_b = ll_i + ll_a //插入行行号先下移一位 dw_main.inser ...
- 在ASP.NET Core 中怎样使用 EF 框架读取数据库数据
添加测试数据 我们首先使用 SQLite Studio 添加三条数据 ID Name 1 李白 2 杜甫 3 白居易 使用 SQLite Studio 打开我们的 blogging.db 数据库,双击 ...
- SQLAlchemy查询数据库数据
首先创建模型,在数据库里面生成表,然后填入数据,如下 # 定义orm,数据模型 class Test(db.Model): __tablename__ = 'test' id = db.Column( ...
- ORM框架查询数据库时返回指定的字段
django model.objects.filter() 查询指定字段 1.model.objects.filter().values('field_name'),单个字段 2.model.obje ...
- datagridview 查询数据库数据
private void btnsearch_Click(object sender, EventArgs e) { if (txtSearch.Text != "") { thi ...
- java查询数据库数据时报错antlr/ANTLRException
在集成SH项目时,写hql 语句总是查不出东西,而且报 java.lang.NoClassDefFoundError: antlr/ANTLRException,郁闷了很久在网上终于找到了答案,原来是 ...
- 使用jdbc,查询数据库数据,并将其封装为对象输出
package cn.itcast.jdbc;import cn.itcast.domain.User;import java.sql.*;import java.util.ArrayList;imp ...
随机推荐
- 轻松扩展机器学习能力:如何在Rancher上安装Kubeflow
随着机器学习领域不断发展,对于处理机器学习的团队来说,在1台机器上训练1个模型已经有些难以为继,并且现在业界的共识是机器学习已经不仅仅是简单的模型训练. 在模型训练之前.过程中和之后,需要进行许多活动 ...
- node的http模块
node中的几个常用核心模块的api返回的都是eventEmitter的实例,也就是说都继承了on和emit方法,用以监听事件并触发回调来处理事件. http模块处理网络请求通常是创建一个server ...
- 从零开始实现ASP.NET Core MVC的插件式开发(七) - 近期问题汇总及部分解决方案
标题:从零开始实现ASP.NET Core MVC的插件式开发(七) - 问题汇总及部分解决方案 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/12 ...
- 01.drf文档及外键字段反序列化
一 安装drf 1.1 安装库 pip install djangorestframework pip install markdown # Markdown support for the brow ...
- 王艳 201771010127《面向对象程序设计(java)》第十三周学习总结
一:理论部分. 1.事件处理基础. 1)事件源:能够产生事件的对象都可以成为事件源,如文本框.按钮等.一个事件源是一个能够注册监听器并向监听器发送事件对象的对象. 2)事件监听器:事件监听器对象接收事 ...
- hdu5984概率数学
转载 https://www.oyohyee.com/post/HDU/5984.html
- element 的 Cascader 级联选择器设定默认值
Cascader 级联选择器 发现在很多的CRM管理系统里面,都有不少页面是用到这种级联选择器的,确实,功能很实用, 不过要设置默认值则应该让不少人头痛,因为你选择的时候 @change 事件的参数就 ...
- shiro的使用详解~
在家无聊复习一下shiro 打开了之前的项目,由于lombok插件安装不了,不知道idea抽什么风所以get,set方法报错了,将就一下 只看shiro的使用,配置在shiro分类中有 登录方法 pa ...
- 简单的认识Linux
一:电脑硬件种类说明 1. 服务器的分类: <1>外观分类:机架式,塔式,刀片式/服务器. <2>尺寸分类:1u,2u,3u <3>性能分类:pc服务器,小型机服 ...
- [转]从 Apple TV 看电视的进化
电视被许多人吐槽为 “几十年没变过的东西”,因此苹果也被寄予厚望能改变这件事物.可惜的是,这种期望在空中飘了这么久,苹果也没玩出多少花样,直到这次发布会 Apple TV 才有了一些值得期待的改进. ...