用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 ...
随机推荐
- ql的python学习之路-day1
写在前面的话:万事开头难,算是系统学习python的一个月了吧,总该写点什么来记录一下,之前看老男孩day1的视频没有开通博客,这次给补上,对于学python还是要好好努力,不能半途而废,还是那句老话 ...
- C#/VB.NET 将SVG图片添加到PDF、转换为PDF
以下内容介绍在C# 程序中如何将SVG图片添加到PDF文档.以及如何将SVG图片转换为PDF文档. 一.环境准备 先下载PDF类库工具,Spire.PDF for .NET hotfix 6.5.6及 ...
- 【雕爷学编程】MicroPython动手做(06)——零基础学MaixPy之单目摄像头
配套 OV2640摄像头:200W像素通用24P摄像头具有200万像素(1632x1232像素),其体积小.工作电压低,提供单片UXGA摄像和影像处理器的所有功能.通过SCCB总线控制,可以输出整帧. ...
- Django模板之模板继承(extends/block)
Django模版引擎中最强大也是最复杂的部分就是模版继承了.模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 block. 模板继承: 1. ...
- 08-Python之路---初识函数
Python之路---初识函数️ 程序员三大美德: 懒惰 因为一直致力于减少工作的总工作量. 缺乏耐性 因为一旦让你去做本该计算机完成的事,你将会怒不可遏. 傲慢 因为被荣誉感冲晕头的你会把程序写得让 ...
- HashMap基本介绍
1.HashMap简介(本文是按照JDK1.8进行解析) HashMap位于JDK自带jar包rt.jar的java.util目录下. HashMap是一个散列表,存储的内容是键值对<key,v ...
- 推荐一款复式记账软件——GnuCash
本文需要搞清楚两个事情,第一,什么是复式记账:第二,GnuCash操作 复式记账,来自百度百科的解释:复式记账法是以资产与权益平衡关系作为记账基础,对于每一笔经济业务,都要以相等的金额在两个或两个以上 ...
- iOS不移除通知也不会崩溃原因
在iOS9.0之前,通知中心对观察者对象进行unsafe_unretained 引用,当被引用的对象释放时不会自动置为nil,,也就是成了野指针. iOS9.0之后通知中心对观察者做了弱引用. 参考: ...
- B. Sleepy Game 博弈搜索
题意:给一个有向图和起点,然后只有一名选手,这名选手可以随意挪动棋子,最终不能动的时候走过的边为奇数边为Win并输出路径,否则如果有环输出Draw,否则输出Lose; 题目链接 知道状态数最多只有n* ...
- scipy.sparse的一些整理
一.scipy.sparse中七种稀疏矩阵类型 1.bsr_matrix:分块压缩稀疏行格式 介绍 BSR矩阵中的inptr列表的第i个元素与i+1个元素是储存第i行的数据的列索引以及数据的区间索引, ...