mysql数据库表jsp_Servlet+JSP+MySQL实现用户管理模块之一、数据库表设计及创建

前言:刚开始学习java,这个用户管理模块作为经验积累和知识的巩固。保存在博客也是为了以后可能会查看下,同时或许有人需要的时候可以做为一部分的参考。虽然代码不是写得很好,但至少也有点参考的作用,比如思路和体系层次结构等等。当然,做这个小项目花了不少时间去学习和参考网络资源。这个项目是17年7月初做的,至于现在才也是做为积累,为以后做个铺垫。因为学习期间没有多少时间,所以没有贴到博客。现实点说,作为新手,想到后面出来找工作,自己实力并非很宏厚。不想简历上面空空的,就准备弄个博客,留点东西啦。最起码,面试时候可以说自己有些java经验,也可以作为技术水平评判的一个参考啦。这是第一个项目经验,嘿嘿,废话就不多说了。

首先介绍下模块的层次结构,思路就是这样的:数据库层(就是存储用户数据的数据库表啦)

数据库操作层(Dao,用于连接数据库,实现对数据库表的增删改查操作的)

业务逻辑处理层(BO,通过Dao实现UI层和数据库的对接,处理各种业务逻辑,反馈结果到UI)

用户界面层(UI,实现人机交互的层次,只做输入输出。其实这里就是jsp页面,通过浏览器交互,应该能说是B/S模式吧)

项目概况:

dao包:放数据库操作类UserDao.java;entity包:放实体类User.java;servlet包:放各项功能Servlet;util包:放一些工具类,工具类里有常用的方法。以及dbinfo.properties配置文件以键值对形式存放配置信息,方便后续维护。

数据库设计

users表,因为是练习的,所以这里就简单设计几个字段吧users

列名数据类型备注

user_idintprimary key,unique,

auto_increment

user_namevarchar(50)not null

user_accountvarchar(50)unique,not null

user_passwordvarchar(50)not null

user_displayvarchar(10)用户状态on/off  default=on

user_deletetimedate删除时间 default=null

用户删除,先设置不显示用户,记录删除时间,以便日后管理已删除状态用户

解决sql注入问题

* sql注入问题:

* Statement stmt = conn.createStatement();

* ResultSet rs = stmt.executeQuery("SELECT * FROM users WHERE NAME='"+name

* +"' AND PASSWORD='"+pwd+"'");

*

* 输入用户密码时,如果输入:123' OR '1'='1

* 会演变成下面情况:

* SELECT * FROM users WHERE NAME='name' AND PASSWORD='123' OR '1'='1';

*

* PreparedStatement接口已解决该问题,所以执行SQL语句时使用PreparedStatement即可。

配置文件,这里就简单配置:

driverclass=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/userdb

username=root

password=123456

如果使用高版本的驱动包,目前知道5.14开始,在url那里要先指定是否启用ssl连接,否则报warring。

示例:url=jdbc:mysql://localhost:3306/userdb?useSSL=true

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值