Model View Controller
MVC三层架构; V试图层:给用户展示程序运行的结果(数据展示)(前段,美工)。
C控制层;控制数据的流通过程
M模型层;数据处理和业务逻辑(后台),对应的数据库的映射,对映射的方法,增删改查
试图层将用户的行为传递给控制层,控制层更新模型层,模型层更新后通知控制器,控制器更新试图层
DB数据库;
建议从下往上开始,读懂需求分析后,先创建数据库,在依次往上进行
public class ConnectionTest {
private static Connection connection=null;
static {
try {
Class.forName("com.mysql.jdbc.Driver");
connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
return connection;
}
public List<Object> select() throws SQLException {
Statement statement= null;
List<Object> list=new ArrayList<>();
try {
statement = connection.createStatement();
ResultSet set = statement.executeQuery("");
while (set.next()){
list.add(set.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
connection.close();
}
return list;
}
}
MVC模型
MODEL:数据库对JAVA类的映射/数据操作方法
CONTROL:控制方法调用
VIEW:展示结果
MVC开发分层
Establishing SSL connection without server's identity :
solution:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(URL, USER , PRSSWORD);
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("select * from goddess");
while (rs.next()){
System.out.println(rs.getString("user_name")+","+rs.getInt("age"));
}
View(视图层)
Control(控制层)
Model(模型层)
DB(数据库)
模型层包括两个部分,即对应数据库的映射和抽象方法(增删查改,CRUD)
控制层就是控制数据的流通过程


一、模型包中的A类(Goddess,是对数据库表的映射):里面的字段对应数据表的字段,再添加set和get方法。
二、添加一个装有能够增删查改这些方法的B类(GoddessDao),其中查询时,可能返回多个值,用一个集合List<E>装载进去。增删查改这些都是需要操作数据库才能把信息插入到数据库中。
三、在C类(DBUtil,工具类,是为了给数据库获得连接)中进行操作数据库步骤:
//1.加载驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获得数据库连接
Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
再对外提供一个方法来获取这个连接。
四、这样,我们就能在B类中通过C类拿到连接,进而实现sql语句,如
Statement stmt = conn.createStatement();//查询刚刚建立的那张表
ResultSet rs = stmt.executeQuery("select user_name,age from imooc_goddess");//查询的数据存放在这个对象里
五、控制层中的控制类D,测试刚刚写的方法
详细设计方案:




MVC框架模式 :(Model View Controller 模型-视图-控制器)
Model(模型): 模型对象负责在数据库中存取数据。
View(视图): 视图是依据模型数据创建的。
Controller(控制器): 控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC三层架构
MVC三层架构
MVC流程
MVC图 .
MVC三层架构
View(视图层)
Control(控制层)
Model(模型层)
DB(数据库)
MVC架构的含义:
view:视图层
controller:控制层
model:模型层
MVC的流程过程:
采用MVC三层架构
模型:1.对应数据库的映射
2.对数据库映射的抽象方法(增加、删除、修改、查询)C增R查U改D删
控制:控制数据流通过程
视图:对数据的展示(展示给用户)
MVC三层架构
MVC三层架构

MVC工作流程解释
/**
* dao(data access object,数据访问对象),通常用来操作数据库的,主要是访问数据库的一些方法
* model其实是dao层
*
*/
注:视图层是数据展示用的,为了给用户展示程序运行的结果,可能是一个列表集合,也可能是一幅图片,或者其他的东西。当用户做出响应的操作,比如修改某条数据,视图层就会将用户的行为传递到控制层,控制层来协调控制,它就会更新模型层,模型层用来数据处理,还有业务逻辑,模型层更新以后就会通知控制器,控制器再更新视图层,用户就会看到更新之后最新的视图层。
注:模型层:主要包括两个部分,一部分是对应的数据库的映射,一部分是对数据库映射的抽象的方法。如增加,修改,删除,查询,简称CRUD。
控制层:控制数据的流通过程 ,控制CRUD方法的运用,把数据拼装起来展示给视图层。
视图层:对于数据的展示,展示给用户用的。
MVC三层架构