1.Data类临时数据的弊端
我们之前在将Servlet+JSP配合处理请求的过程中 数据库起到一个存取数据的作用 但是我们之前的案例中 数据是在Data类中临时定义的 并不是从数据库中获取的 这样做是不好的 因为每一次服务器关闭之后 那么部署在其上的类也会随着卸载 紧接着和类相挂钩的静态内存也会随着销毁 更别提实例内存了 所以说再次启动服务器 数据也就不能复原 所以说数据还是交由数据库保管 数据库中存放的数据是在硬盘之中 所以说不会因为服务器的开关而受到影响
2.数据库存取的好处
前面提到 既然我们自定义临时数据是有弊端的 那么我们就需要有一个地方来存放我们的数据 而且要求能够长久的储存数据 现在有两个选项:1.文件 2.数据库 两者都可以实现将数据存放到服务器硬盘的目的 那么两者的区别在哪里呢?
我们使用文件存取数据的话 都需要先将数据加载到内存 然后在进行进一步的操作 这是为了提高cpu访问数据的效率(cpu访问内存的效率高于硬盘 这与距离有关) 而数据库相关的存取、查询操作则是直接访问硬盘 从整体上来看 直接访问硬盘的行为在效率上肯定是比先加载到内存在访问的行为要来得高的 这是数据库存取数据的第一个好处 即高效的存取、查询数据
第二个好处就是 数据库可以对储存在其内部的多个重复数据减少为一份进行储存 可以减少重复、冗余的数据
第三个好处则是提高数据的安全性 数据库进行了加密操作
3.常见数据库
数据库可以分成两类:关系型数据库、非关系型数据库
- 关系型数据库主要有:MySQL、ORACLE等等
- 非关系型数据库主要有:redis、mongoDB等等
4.MySQL
MySQL是一款开源的关系型数据库 有社区版(免费)、商业版
- MySQL的下载 我们下载的是MySQL社区版 版本号为5.7 下载链接
- MySQL的配置
- 为了防止数据乱码 所以我们要到数据存放路径下的my.ini中 修改三处编码方式 分别是在[client]、[mysql]下加入default-character-set=utf8mb4 、[mysqld]下加入character_set_server=utf8mb4
- 由于修改了my.ini 建议重启一下mysql 打开任务管理器
- 建议将mysql的bin目录配置到path中 因为我们很有可能在cmd窗口中使用mysql的一些相关指令并且无需定位到相关位置
下图表示mysql环境变量配置成功