介绍下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框架查询数据库数据的更多相关文章

  1. 资料:MVC框架+SQL Server 数据集成引擎

    ylbtech-资料:MVC框架+SQL Server 数据集成引擎 1.返回顶部 1. 功能特点: MVC框架耦合性低视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样 ...

  2. android sqlite使用之模糊查询数据库数据的三种方式

    android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ...

  3. pb中遍历查询数据库数据问题(数据库为 sql server)

    指针可以实现但是不推荐 例如:(部分代码) for ll_a = 1 to ll_count    ll_b = ll_i +  ll_a  //插入行行号先下移一位    dw_main.inser ...

  4. 在ASP.NET Core 中怎样使用 EF 框架读取数据库数据

    添加测试数据 我们首先使用 SQLite Studio 添加三条数据 ID Name 1 李白 2 杜甫 3 白居易 使用 SQLite Studio 打开我们的 blogging.db 数据库,双击 ...

  5. SQLAlchemy查询数据库数据

    首先创建模型,在数据库里面生成表,然后填入数据,如下 # 定义orm,数据模型 class Test(db.Model): __tablename__ = 'test' id = db.Column( ...

  6. ORM框架查询数据库时返回指定的字段

    django model.objects.filter() 查询指定字段 1.model.objects.filter().values('field_name'),单个字段 2.model.obje ...

  7. datagridview 查询数据库数据

    private void btnsearch_Click(object sender, EventArgs e) { if (txtSearch.Text != "") { thi ...

  8. java查询数据库数据时报错antlr/ANTLRException

    在集成SH项目时,写hql 语句总是查不出东西,而且报 java.lang.NoClassDefFoundError: antlr/ANTLRException,郁闷了很久在网上终于找到了答案,原来是 ...

  9. 使用jdbc,查询数据库数据,并将其封装为对象输出

    package cn.itcast.jdbc;import cn.itcast.domain.User;import java.sql.*;import java.util.ArrayList;imp ...

随机推荐

  1. ql的python学习之路-day1

    写在前面的话:万事开头难,算是系统学习python的一个月了吧,总该写点什么来记录一下,之前看老男孩day1的视频没有开通博客,这次给补上,对于学python还是要好好努力,不能半途而废,还是那句老话 ...

  2. C#/VB.NET 将SVG图片添加到PDF、转换为PDF

    以下内容介绍在C# 程序中如何将SVG图片添加到PDF文档.以及如何将SVG图片转换为PDF文档. 一.环境准备 先下载PDF类库工具,Spire.PDF for .NET hotfix 6.5.6及 ...

  3. 【雕爷学编程】MicroPython动手做(06)——零基础学MaixPy之单目摄像头

    配套 OV2640摄像头:200W像素通用24P摄像头具有200万像素(1632x1232像素),其体积小.工作电压低,提供单片UXGA摄像和影像处理器的所有功能.通过SCCB总线控制,可以输出整帧. ...

  4. Django模板之模板继承(extends/block)

    Django模版引擎中最强大也是最复杂的部分就是模版继承了.模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 block. 模板继承: 1.    ...

  5. 08-Python之路---初识函数

    Python之路---初识函数️ 程序员三大美德: 懒惰 因为一直致力于减少工作的总工作量. 缺乏耐性 因为一旦让你去做本该计算机完成的事,你将会怒不可遏. 傲慢 因为被荣誉感冲晕头的你会把程序写得让 ...

  6. HashMap基本介绍

    1.HashMap简介(本文是按照JDK1.8进行解析) HashMap位于JDK自带jar包rt.jar的java.util目录下. HashMap是一个散列表,存储的内容是键值对<key,v ...

  7. 推荐一款复式记账软件——GnuCash

    本文需要搞清楚两个事情,第一,什么是复式记账:第二,GnuCash操作 复式记账,来自百度百科的解释:复式记账法是以资产与权益平衡关系作为记账基础,对于每一笔经济业务,都要以相等的金额在两个或两个以上 ...

  8. iOS不移除通知也不会崩溃原因

    在iOS9.0之前,通知中心对观察者对象进行unsafe_unretained 引用,当被引用的对象释放时不会自动置为nil,,也就是成了野指针. iOS9.0之后通知中心对观察者做了弱引用. 参考: ...

  9. B. Sleepy Game 博弈搜索

    题意:给一个有向图和起点,然后只有一名选手,这名选手可以随意挪动棋子,最终不能动的时候走过的边为奇数边为Win并输出路径,否则如果有环输出Draw,否则输出Lose; 题目链接 知道状态数最多只有n* ...

  10. scipy.sparse的一些整理

    一.scipy.sparse中七种稀疏矩阵类型 1.bsr_matrix:分块压缩稀疏行格式 介绍 BSR矩阵中的inptr列表的第i个元素与i+1个元素是储存第i行的数据的列索引以及数据的区间索引, ...