博客
关于我
MVC案例_用户信息列表展示_hehe.employment.over.17.6
阅读量:387 次
发布时间:2019-03-05

本文共 6733 字,大约阅读时间需要 22 分钟。

文章目录

17.11 MVC案例_用户信息列表展示

17.11.1 需求分析与设计

  • 1.需求: 用户信息的增删改查操作

  • 2.设计:

    • 技术选型:
      • Servlet(控制器)+JSP(显示页面)+MySQL(数据库)+JDBCTempleat(简单的对MySQL进行封装)+Duird(数据库连接池,提高连接性能)+BeanUtilS(封装数据)+tomcat(服务器)
    • 数据库设计
  • 3.开发:

    • 环境搭建:
      • 创建数据库环境 ;
      • 创建项目,导入需要的jar包 ;
      • 编码 。
  • 4.测试

  • 5.部署运维

17.11.2 环境搭建

  • 1.创建数据库环境:
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.创建项目,导入需要的 jar包:
    在这里插入图片描述

17.11.3 列表查询分析

在这里插入图片描述

17.11.4 列表查询_代码

<%--  Created by IntelliJ IDEA.  User: 徐巍巍  Date: 2021/2/13  Time: 10:31  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>  
首页
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
用户信息管理系统

用户信息列表

编号 姓名 性别 年龄 籍贯 QQ 邮箱 操作
${s.count} ${user.name} ${user.gender} ${user.age} ${user.address} ${user.qq} ${user.email} 修改 删除
添加联系人
package com.xww.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 + '\'' +                '}';    }}
package com.xww.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import javax.xml.crypto.Data;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;/** * JDBC工具类 使用Durid连接池 */public class JDBCUtils {       private static DataSource ds ;    static {           try {               //1.加载配置文件            Properties pro = new Properties();            //使用ClassLoader加载配置文件,获取字节输入流            InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");            pro.load(is);            //2.初始化连接池对象            ds = DruidDataSourceFactory.createDataSource(pro);        } catch (IOException e) {               e.printStackTrace();        } catch (Exception e) {               e.printStackTrace();        }    }    /**     * 获取连接池对象     */    public static DataSource getDataSource(){           return ds;    }    /**     * 获取连接Connection对象     */    public static Connection getConnection() throws SQLException {           return  ds.getConnection();    }}
package com.xww.web.servlet;import com.xww.domain.User;import com.xww.service.UserService;import com.xww.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
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); }}
package com.xww.service;import com.xww.domain.User;import java.util.List;/** * 用户管理的业务接口 */public interface UserService {       /**     * 查询所有用户信息     * @return     */    public List
findAll();}
package com.xww.service.impl;import com.xww.dao.UserDao;import com.xww.dao.impl.UserDaoImpl;import com.xww.domain.User;import com.xww.service.UserService;import java.util.List;public class UserServiceImpl implements UserService{       private UserDao dao = new UserDaoImpl();    @Override    public List
findAll() { //调用Dao完成查询 return dao.findAll(); }}
package com.xww.dao;import com.xww.domain.User;import java.util.List;/** * 用户操作的DAO */public interface UserDao {       public List
findAll();}
package com.xww.dao.impl;import com.xww.dao.UserDao;import com.xww.domain.User;import com.xww.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
findAll() { //使用JDBC操作数据库... //1.定义sql String sql = "select * from user"; List
users = template.query(sql, new BeanPropertyRowMapper
(User.class)); return users; }}

转载地址:http://nugwz.baihongyu.com/

你可能感兴趣的文章
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>