基于MVC模式的学生数据管理系统简单实现以及c3p0中文乱码
重温了一遍之前的这个MVC代码,当时复习一下知识。源码位于https://github.com/supersunspp
一,MVC模式与三层架构
Java提出三层架构是,Web层、业务逻辑层、数据访问层。
MVC设计模式指的是,Model层、View层、Controller层。
关系如下图:
项目需求:对人员信息增删改查CRUD操作。实现图如下:
二, 实现过程
需要的一些jar包,如下图:
数据库准备:创建所需的数据库和表
连接数据库的工具准备:
采用的开源的连接池是: 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上。
useUnicode=true&;
就解决了问题。