一、三层架构
1、表示层
表示层依赖于业务逻辑层
2、业务逻辑层
业务逻辑层依赖于数据访问层
①编写业务逻辑层接口
在里面写方法名,如:
public List<News> getAll();
public int addXw(News nx);
②编写业务逻辑层接口实现
用里氏替换原则实现数据库访问层
@Override
public List<News> getAll() {
// TODO Auto-generated method stub
return ind.getAll();
}
@Override
public int addXw(News nx) {
// TODO Auto-generated method stub
return ind.addXw(nx);
}
3、数据库访问层
①数据访问接口
里面写方法体,如:
public List<News> getAll();
public int addXw(News nx);
②数据访问接口的实现
就可以跟以前一样写方法,如:
//三兄弟
private Connection con=null;
private PreparedStatement ps=null;
private ResultSet rs=null;
/**
* 查询全部新闻
* @return 新闻集合
*/
public List<News> getAll(){
List<News> ls=new ArrayList<News>();
try {
//创建连接
con=DBHelper.getCon();
//定义sql语句
String sql="select nid,nname,nzz from xw order by nid desc";
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//获得结果集
ResultSet rs=ps.executeQuery();
while(rs.next()) {
//实例化新闻对象
News n=new News();
//给对象赋值
n.setNid(rs.getInt(1));
n.setNname(rs.getString(2));
n.setNzz(rs.getString(3));
//加到集合中
ls.add(n);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelper.myClose(con, ps, rs);
}
return ls;
}