MVC架构模式:
View(视图层)、Control(控制层)、Model(模型层)
Model(模型层):
模型包括两部分,一个是对应数据库的映射,另一个是对数据库对应映射的方法(比如数据库操作的增、删、改、查,简称C(CREAT)R(RETRIEVE)U(UPDATE)D(DELETE))其中R,查询,包括高级查询,包括报表、分页等;
Control(控制层):
控制数据流通过程
View(视图层):
将拼装起来的数据进行展示
1.控制层起到桥梁的作用,接收视图层传过来的参数,调用模型层,模型层将结果通知给控制层,控制层来更新视图层。
2.View(前端)可能是图片,也可能是数据列表,用户修改了数据之后,视图层将用户的这个行为传递到控制层(用于协调控制),控制层更新模型层(数据处理),模型层处理之后通知控制层,控制层再更新视图层(这时用户看到的就是修改之后的最新视图层)
3.把视图层的展示、业务逻辑、数据存储的过程分开,通过控制层协调控制。每一部分由相应的人员负责,更有利于协调工作 。
设计时由 数据库-模型层-控制层-视图层的顺序进行设计
Goddess.java:
Goddess类属性及其get、set方法
package com.imooc.model;
import java.util.Date;
public class Goddess {
private Integer id;
private String user_name;
private Integer sex;
private Integer age;
private Date birthday; // java.util
private String email;
private String mobile;
private String create_user;
private String update_user;
private Date create_date;
private Date update_date;
private Integer isdel;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getCreate_user() {
return create_user;
}
public void setCreate_user(String create_user) {
this.create_user = create_user;
}
public String getUpdate_user() {
return update_user;
}
public void setUpdate_user(String update_user) {
this.update_user = update_user;
}
public Date getCreate_date() {
return create_date;
}
public void setCreate_date(Date create_date) {
this.create_date = create_date;
}
public Date getUpdate_date() {
return update_date;
}
public void setUpdate_date(Date update_date) {
this.update_date = update_date;
}
public Integer getIsdel() {
return isdel;
}
public void setIsdel(Integer isdel) {
this.isdel = isdel;
}
}
DBUtil.java:
内含有对数据库建立连接的getConnection()方法。
package com.imooc.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
private static final String url = "jdbc:mysql://127.0.0.1:3306/imooc";
private static final String user = "root";
private static final String password = "1996";
private static Connection conn = null;
static {
try {
// 1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 2.获得数据库连接
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
return conn;
}
}
GoddessDao.java:
对Goddess进行增删改查操作
package com.imooc.dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.imooc.db.DBUtil;
import com.imooc.model.Goddess;
public class GoddessDao {
public void addGoddess()
{
Connection conn=DBUtil.getConnection();//import java.sql.Connection;
}
public void updateGoddess()
{
}
public void delGoddess()
{
}
public List <Goddess> query() throws SQLException
{
Connection conn=DBUtil.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select user_name,age from imooc_goddess");
List <Goddess> gs=new ArrayList<Goddess>();
Goddess g=null;
while (rs.next()) {
g=new Goddess();
g.setUser_name(rs.getString("user_name") );
g.setAge(rs.getInt("age"));
gs.add(g);
}
return gs;
}
public Goddess get()
{
return null;
}
}
GoddessAction.java:
执行GoddessDao里的操作
package com.imooc.action;
import java.sql.SQLException;
import java.util.List;
import com.imooc.dao.GoddessDao;
import com.imooc.model.Goddess;
public class GoddessAction {
public static void main(String[] args) throws SQLException {
GoddessDao g=new GoddessDao();
List<Goddess> gs=g.query();//import java.util.List;
for (Goddess goddess : gs)
{
System.out.println(goddess.getUser_name()+","+goddess.getAge());
}
}
}