public User login(String uname, String upwd) {
User u=null;
try {
con=DBHelper.getCon();//获得连接
String sql="select * from tb_0325 where sname=? and spwd=?";//定义sql语句
ps=con.prepareStatement(sql);//获得执行对象
//给占位符赋值
ps.setString(1, uname);
ps.setString(2, upwd);
rs=ps.executeQuery();//获得结果集
//判断
if(rs.next()) {
u=new User();//实例化
u.setUuid(rs.getInt(1));
u.setUname(rs.getString(2));
u.setUpwd(rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBHelper.myClose(con, ps, rs);
}
return u;
}
分层模式是最常见的一种架构模式,同时也是很多架构模式的基础
分层的意义{
将解决方案的组件分隔到不同的层中
在同一个层中组件之间保持内聚性
层与层之间保持松耦合
}
三层架构
一、表示层
表示层相当于ui包,界面
表示层依赖于业务逻辑层
二、业务逻辑层
业务逻辑层相当于表示层和数据访问层的中介
在里面写方法名调用方法 如:
/**
* 查询全部
* @return 用户集合
*/
public List<User> getAll();
/**
* 模糊查询
* @param colName 列名
* @param str 关键字
* @return 用户集合
*/
public List<User> getAll(String colName,String str);
/**
* 根据用户id查询
* @param uuid 编号
* @return 用户对象
*/
public User getUser(int uuid);
/**
* 增加用户
* @param u 用户对象
* @return 影响行数
*/
public int addUser(User u);
/**
* 根据id删除用户
* @param uuid 用户编号
* @return 影响行数
*/
public int deleteUser(int uuid);
/**
* 根据id修改用户
* @param u 用户对象
* @param uuid 用户编号
* @return 影响行数
*/
public int updateUser(User u,int uuid);
/**
* 用户登录
* @param uname 用户名
* @param upwd 密码
* @return 用户对象
*/
public User login(String uname,String upwd);
三、数据库访问层
以前怎么写现在就这么写
public User login(String uname, String upwd) {
User u=null;
try {
con=DBHelper.getCon();//获得连接
String sql="select * from tb_0325 where sname=? and spwd=?";//定义sql语句
ps=con.prepareStatement(sql);//获得执行对象
//给占位符赋值
ps.setString(1, uname);
ps.setString(2, upwd);
rs=ps.executeQuery();//获得结果集
//判断
if(rs.next()) {
u=new User();//实例化
u.setUuid(rs.getInt(1));
u.setUname(rs.getString(2));
u.setUpwd(rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBHelper.myClose(con, ps, rs);
}
return u;
}