- 前端页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
用户信息管理系统
<script src="js/jquery-2.1.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
用户信息列表
| 编号 |
姓名 |
性别 |
年龄 |
籍贯 |
QQ |
邮箱 |
操作 |
| ${s.count} |
${user.name} |
${user.gender} |
${user.age} |
${user.address} |
${user.qq} |
${user.email} |
修改 删除 |
| 添加联系人 |
- servlet层
package com.gaopeng.web.servlet;
import com.gaopeng.domain.User;
import com.gaopeng.service.impl.UserServiceImpl;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.List;
@WebServlet(name = "UserServlet", value = "/userListServlet")
public class UserServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//调用service层 完成用户表的查询操作
UserServiceImpl userServiceimpl = new UserServiceImpl();
List userList = userServiceimpl.getUserList();
//将查询到的数据存入request域中
request.setAttribute("users",userList);
//转发到list.jsp页面
//转发是内部跳转 不需要添加虚拟目录
request.getRequestDispatcher("/list.jsp").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
}
- service层
package com.gaopeng.service.impl;
import com.gaopeng.dao.UserDao;
import com.gaopeng.dao.impl.UserDaoImpl;
import com.gaopeng.domain.User;
import com.gaopeng.service.UserService;
import java.util.List;
public class UserServiceImpl implements UserService {
private UserDaoImpl userDao = new UserDaoImpl();
@Override
public List getUserList() {
return userDao.getUserList();
}
}
- dao层
package com.gaopeng.dao.impl;
import com.gaopeng.dao.UserDao;
import com.gaopeng.domain.User;
import com.gaopeng.util.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;
public class UserDaoImpl implements UserDao {
private static JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
@Override
public List getUserList() {
List users = jdbcTemplate.query("select * from user",new BeanPropertyRowMapper(User.class));
return users;
}
}
- domain层
package com.gaopeng.domain;
import lombok.Data;
@Data
public class User {
private int id;
private String name;
private String gender;
private int age;
private String address;
private String qq;
private String email;
}
- 工具类
package com.gaopeng.util;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
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();
}
}
- 配置文件
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///day17?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
username=root
password=123456
initialSize=5
maxActive=10
maxWait=3000
- 问题
- MySQL 如果是8.0的版本 需要使用
com.mysql.cj.jdbc.Driver
- 连接数据库需要设置 时区 编码格式
jdbc:mysql:///day17?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8