后端基础列表查询案例总结一

一.在src中建包名称为cn.itcast.domain,并且在domain同级目录下建dao,service,util,web共5个包,并且在与src同级的web目录下建WEB-INF包将前端文件放在WEB-INF中,再建lib包将jar文件放进lib包中并且将lib包add as library

dao包:
impl–>UserDaoImpl
interface UserDao

service包:
impl–>UserServiceImpl
interface UserService

util包:
JBDCUtils

web包:
servlet包–>UserListServlet

domain包–>User

1. 在domain中编写一个类叫User,这个User就是一个JavaBean对应着我们数据库中User表的实体类,并且数据库的表User中有哪些字段就有哪些成员变量

package cn.itcast.domain;

public class User {
    private int id;
    private String name;
    private String gender;
    private int age;
    private String address;
    private String qq;
    private String email;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                ", qq='" + qq + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

这是数据库数据

CREATE DATABASE day17; -- 创建数据库
USE day17;		-- 使用数据库
CREATE TABLE USER(	-- 创建表
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20) NOT NULL,
	gender VARCHAR(5),
	age INT,
	address VARCHAR(32),
	qq VARCHAR(20),
	email VARCHAR(50)
	);

2.将web目录下的静态页面改造成jsp页面也就是在顶部添加<%@ page contentType="text/html;charset=UTF-8" language="java" %> 在这个静态页面中有个a标签href应该使用el表达式改写成"${pageContext.request.contextPath}/userListServlet" 使其跳转到src/web/servlet/userListServlet中的Servlet。

  1. 第一步调用UserService完成查询,但是现在还没有这个Service,所以现在把service和dao写完。
  2. 先在service中写一个接口,这个接口叫做UserService
package cn.itcast.service;

import cn.itcast.domain.User;

import java.util.List;

/*
*用户管理的业务接口
* */
public interface UserService {

    /**
     * 查询所有用户信息
     * @return
     */
    public List<User> findAll();
}

  1. 完成UserService后在service包下定义一个子包impl,在这个子包里面定义接口实现类UserServiceImpl
package cn.itcast.service.impl;

import cn.itcast.dao.UserDao;
import cn.itcast.domain.User;
import cn.itcast.service.UserService;

import java.util.List;

public class UserServiceImpl implements UserService {

    @Override
    public List<User> findAll() {
        //调用Dao完成查询
        return null;
    }
}

  1. 而在UserServiceImpl实现类中要做的第一件事是调用Dao完成查询,所以在dao包建一个接口UserDao
package cn.itcast.dao;

import cn.itcast.domain.User;

import java.util.List;

/*
* 用户操作的DAO
* */
public interface UserDao {

    public List<User> findAll();
}

  1. 再在dao中建一个子包impl,并且在子包中建类UserDaoImpl实现类用来实现UserDao接口,
package cn.itcast.dao.impl;

import cn.itcast.dao.UserDao;
import cn.itcast.domain.User;
import cn.itcast.util.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

public class UserDaoImpl implements UserDao {
    @Override
    public List<User> findAll() {
        //使用JDBC操作数据库
        
        return null;
    }
}

  1. 而在UserDaoImpl中public List<User> findAll() 方法里面使用JDBC操作数据库,但是我们先不做这个动作,我们可以先在UserServiceImpl中创建一个private UserDao dao = new UserDaoImpl(); 这样我们就可以直接用dao.findAll()
package cn.itcast.service.impl;

import cn.itcast.dao.UserDao;
import cn.itcast.dao.impl.UserDaoImpl;
import cn.itcast.domain.User;
import cn.itcast.service.UserService;

import java.util.List;

public class UserServiceImpl implements UserService {
    private UserDao dao = new UserDaoImpl();

    @Override
    public List<User> findAll() {
        //调用Dao完成查询
        return dao.findAll();
    }
}

  1. 直接给它查询所有数据并且在service里面返回给我们对应的servlet,那么有了servlet之后我们就可以在servlet中完成逻辑,这个逻辑就是创建service.
package cn.itcast.web.servlet;

import cn.itcast.domain.User;
import cn.itcast.service.UserService;
import cn.itcast.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet("/userListServlet")
public class UserListServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.调用UserService完成查询
        UserService service = new UserServiceImpl();
        List<User> users = service.findAll();
        //2.将list存入request域
        request.setAttribute("users",users);
        //3.转发到list.jsp
        request.getRequestDispatcher("/list.jsp").forward(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

  1. service的代码也写完了,现在剩下的就是dao的实现类,dao的实现类中需要使用JDBC操作数据库,我们使用的是spring提供的JDBCTemplete
  2. UserDaoImpl的实现方法,首先我们把druid.properties复制到src下配置参数,我们把工具类复制进util包也就是和JDBCUtils.java,之后我们开始在实现类中写代码
package cn.itcast.dao.impl;

import cn.itcast.dao.UserDao;
import cn.itcast.domain.User;
import cn.itcast.util.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

public class UserDaoImpl implements UserDao {

    private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());

    @Override
    public List<User> findAll() {
        //使用JDBC操作数据库
        //1.定义sql
        String sql = "select * from user";
        List<User> users = template.query(sql, new BeanPropertyRowMapper<User>(User.class));
        return users;
    }
}

  1. 将静态网页全部转换成jsp,并且在web/list.jsp中引入jsp的标签库,把tr/td指令全部删了,只保留一个,最后使用forEach标签进行循环,并且改写td内容为el表达式的形式。最后在数据库中添加记录。

链接:https://pan.baidu.com/s/1jHmT5ptY4CxNXh4xPxXhaw
提取码:wyh1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当然可以!使用 Ext.NET 应用框架与 C# 后端可以非常方便地创建现代化的 Web 应用程序。 首先,您需要在 ASP.NET Web 应用程序中引用 Ext.NET 库,这可以通过 NuGet 包管理器完成。然后,您可以在前端使用 Ext.NET 控件和组件来构建用户界面,同时在后端使用 C# 编写逻辑代码和业务规则。 例如,您可以使用 Ext.NET 的 GridPanel 控件来显示和编辑数据。您可以在后端编写 C# 代码,将数据从数据库检索出来并填充到 GridPanel 控件中。您还可以使用 C# 编写事件处理程序,例如用户单击某个行时触发的事件,然后更新数据库中的数据。 总的来说,使用 Ext.NET 应用框架和 C# 后端可以让您创建强大的 Web 应用程序,带有现代化的用户界面和可靠的后端逻辑。 ### 回答2: 当然可以使用Ext.net框架和C#作为后端开发一份应用。 Ext.net是一个ASP.NET的开源应用框架,它结合了Sencha ExtJS框架和ASP.NET的优势,提供了丰富的UI组件和技术来开发一流的Web应用程序。使用Ext.net,您可以通过使用C#编写后端代码来实现大部分业务逻辑。 首先,您可以使用Ext.net提供的各种控件来构建您的用户界面。您可以使用Ext.net提供的各种布局来设计您的页面,例如表格布局、边界布局等等。框架还提供了丰富的表单组件,如文本框、复选框、下拉框等,以便您能够方便地收集用户输入。 其次,您可以使用Ext.net提供的数据绑定功能来将您的后端数据与UI组件关联起来。您可以从后端获取数据并将其绑定到表格、树形视图等组件上。同时,您还可以通过Ext.net提供的数据存储功能来管理您的数据,例如添加、更新、删除数据等操作。 此外,您可以通过编写后端的C#代码来处理业务逻辑。您可以在后端编写控制器和模型来处理前端请求,并执行相应的操作。您可以使用C#的强大功能来进行数据操作、业务逻辑处理以及与其他系统的集成等。 最后,您可以使用Ext.net提供的事件和动画功能来增加应用的交互性和视觉效果。您可以通过编写C#代码来处理各种事件,例如按钮点击、表格行点击等。您还可以通过使用C#编写动画来为页面添加各种效果,例如渐变、滑动等。 综上所述,使用Ext.net框架和C#作为后端开发一份应用是完全可行的,并且能够提供丰富的UI组件、数据绑定、业务逻辑处理和交互效果等功能,以满足您的应用需求。 ### 回答3: ertainly! Ext.net是一个基于ASP.NET的Web应用程序开发框架,它与C#后端语言非常兼容。下面是如何使用Ext.net应用框架以及结合C#后端的简要步骤。 首先,我们需要准备好开发环境。确保已经安装了Visual Studio和ASP.NET框架。 接下来,我们可以创建一个新的ASP.NET项目。打开Visual Studio并选择创建新的Web应用程序项目。选择ASP.NET Empty Web应用程序模板,并为项目指定一个名称。 接下来,我们需要添加Ext.net框架到我们的项目中。这可以通过NuGet包管理器来实现。在Visual Studio中,右键单击我们的项目,然后选择“管理NuGet程序包”。在NuGet搜索框中,搜索并安装“Ext.NET”包。 安装完成后,我们可以开始编写代码。在我们的项目中,可以创建一个新的ASPX页面(.aspx文件)作为我们的前端界面。我们可以使用Ext.net的组件来设计和构建我们所需的UI界面。 然后,我们可以在C#后端代码中处理前端的请求和逻辑。在ASP.NET页面中,我们可以使用C#编程语言来编写后端代码。我们可以处理用户输入,数据库操作,以及其他业务逻辑。 最后,我们可以部署我们的应用程序。通过选择发布选项,我们可以将应用程序部署到服务器上,使其能够在Web浏览器中访问。 总结起来,使用Ext.net应用框架和C#后端可以创建功能强大且具有良好用户界面的Web应用程序。前端界面可以使用Ext.net的组件来构建,后端逻辑则可以使用C#来编写。这种组合提供了一种简单且高效的方法来构建具有丰富功能的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值