基于MVC模式的学生数据管理系统简单实现以及c3p0中文乱码

重温了一遍之前的这个MVC代码,当时复习一下知识。源码位于https://github.com/supersunspp

一,MVC模式与三层架构

Java提出三层架构是,Web层、业务逻辑层、数据访问层。

MVC设计模式指的是,Model层、View层、Controller层。

关系如下图:

                                                   基于MVC模式的学生数据管理系统简单实现以及c3p0中文乱码

项目需求:对人员信息增删改查CRUD操作。实现图如下:

                        基于MVC模式的学生数据管理系统简单实现以及c3p0中文乱码

二, 实现过程

需要的一些jar包,如下图:

                                                                     基于MVC模式的学生数据管理系统简单实现以及c3p0中文乱码

数据库准备:创建所需的数据库和表

                                                                        基于MVC模式的学生数据管理系统简单实现以及c3p0中文乱码

 

连接数据库的工具准备:

采用的开源的连接池是: c3p0    配置好 c3p0-config.xml 。     再写一个DBUtil类来进行CRUD操作。

Dao:

               ①一个StudentDao接口,定义增删改查等操作,有返回的方法返回一个List对象

               ②一个StudentDaoImpl 类,是StudentDao的实现。 针对前面定义的规范,做出具体的实现。

               ③Domain:学生封装的对象 bean,包括学生的一系列属性,以及get(), set(), 方法。

Controller:

               ①StudentService: 这是学生的业务处理规范, 对于来自servlet的请求,先给service ,再由service调用Dao,service相当于一个中间层。里面的方法和StudentDao接口的一样。

               ②StudentServiceImpl:是StudentService的实现类。

  Web:   用于处理对学生的各种请求,包括AddServlet类、DeleteServlet类、UpdateServlet类 等。

   

写一个中途遇到的问题,改了好久:

那就是乱码问题,对于汉字的操作都会乱码。由于实现过程中涉及数据库的编码、ide的编码, 最终问题出在c3p0的url上。

基于MVC模式的学生数据管理系统简单实现以及c3p0中文乱码   useUnicode=true&

就解决了问题。