1.日常项目小结:
每一次完成一个项目都是一点点的进步。而每一次写总结都可以使思绪更加清晰,项目是对前一段学习的考验,而总结则可以对之前学习产生更深刻的理解。从班主任那边学到的做完一个项目或者完成一个阶段性的任务一定要写总结文档,一定要写总结文档,一定要写总结文档!!!!!!!
下次需要改进的地方:做事情的过程中多次遇到的问题或者普遍性问题一定要记录下来及其解决的方案。
2.MVC模型简介
全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
3.项目大体结构
(1) com.ch6:数据库连接方法
Conn.java代码;
package com.ch6;
import java.sql.*;
public class Conn {
Connection conn= null;
Statement stmt = null;
ResultSet rs = null;
//加载驱动程序
public Conn(){
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
}
}
//查询操作
public ResultSet executeQuery(String sql) {
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/liuyan?useUnicode=true&characterEncoding=UTF-8","root","123");
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException ex){
System.err.println(ex.getMessage());
}
return rs;
}
//更新操作
public int executeUpdate(String sql){
int result=0;
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/liuyan?useUnicode=true&characterEncoding=UTF-8","root","123");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
result=stmt.executeUpdate(sql);
}catch(SQLException ex){
result=0;
}
return result;
}
//关闭数据库连接
public void close(){
try{
if(rs!=null)
rs.close();
}catch(Exception e){
e.printStackTrace(System.err);
}
try{
if(stmt != null)
stmt.close();
}catch(Exception e){
e.printStackTrace(System.err);
}
try{
if(conn!=null)
conn.close();
}catch(Exception e){
e.printStackTrace(System.err);
}
}
}
(2) com.ch6.dal:对网页中的对象进行基本操作方法
liuyan.java代码(主要对留言的属性进行增删查等功能):
package com.ch6.dal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.ch6.model.LiuyanInfo;
import com.ch6.Conn;
public class Liuyan {
Conn conn = new Conn();
public List<LiuyanInfo> getList() throws SQLException{
List<LiuyanInfo> list=new ArrayList<LiuyanInfo>();
String sql="select * from info order by id asc";
ResultSet rs=conn.executeQuery(sql);
while(rs.next()){
LiuyanInfo info=new LiuyanInfo();
info.setId(rs.getInt("id"));
info.setName(rs.getString("name"));
info.setTime(rs.getString("time"));
info.setTitle(rs.getString("title"));
info.setText(rs.getString("text"));
list.add(info);
}
conn.close();
return list;
}
public int insert(LiuyanInfo info){
String sql="insert into info( name,time,title,text ) values ";
sql=sql+"('"+info.getName()+"','"+info.getTime()+"','"+info.getTitle()+"','"+info.getText()+"')";
int result=0;
System.out.println(sql);
result=conn.executeUpdate(sql);
conn.close();
return result;
}
public int update(LiuyanInfo info){
String sql="update info set"+"name='"+info.getName()+"',time='"+info.getTime()+"',title='"+info.getTitle()+"',text='"+info.getText()+"' where id='"+info.getId()+"'";
int result=0;
System.out.println(sql);
result=conn.executeUpdate(sql);
conn.close();
return result;
}
public LiuyanInfo getLiuyan(String id) throws SQLException{
LiuyanInfo info=new LiuyanInfo();
String sql ="select * from info s where id= '"+id+"'";
ResultSet rs=conn.executeQuery(sql);
if(rs.next()){
info.setId(rs.getInt("id"));
info.setName(rs.getString("name"))