三层结构中数据访问层的主要功能是什么

发布网友 发布时间:2022-04-25 10:28

我来回答

5个回答

懂视网 时间:2022-05-02 03:04

/**

*seralizable序列化

*

/

public class Mas implements Serializable{
 /**
  * 私有化属性
  */
 private static final long serialVersionUID = 1L;
 private int id;
 private String loginid;
 private String password;
 public Mas(){
  
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 
 public String getLoginid() {
  return loginid;
 }
 public void setLoginid(String loginid) {
  this.loginid = loginid;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 
}

utils(帮助类)

public class BaseDao {
 public Connection getConnection(){
  ResultSet rs=null;
  PreparedStatement pst=null;
  Connection conn=null;
  try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   String url = "jdbc:sqlserver://localhost:1433;databasename=epet";
   String uname = "sa";
   String pwd = "123456";
   conn = DriverManager.getConnection(url,uname,pwd);
  } catch (ClassNotFoundException ee) {
   ee.printStackTrace();
  }catch (SQLException e) {
   e.printStackTrace();
  }
  return conn;
 } 

/*   * 修改,删除,增加   */

 public void exectue(String sql,Object [] param){

  ResultSet rs=null;

  PreparedStatement pst=null;

Connection conn=null;   

try {    

conn=getConnection();   

 pst=conn.prepareStatement(sql);   

 for(int i=0;i<param.length;i++){   

  pst.setObject(i+1, param[i]);   

 }   

 int num=pst.executeUpdate();

  } catch (Exception ee) {  

  ee.printStackTrace();  

 }

 }

 /*
  * 关闭数据库连接
  * param conn 数据库连接
  * param stmt Statement 对象
  * param rs 结果集
  *
  */
 public void close(ResultSet rs, PreparedStatement pst, Connection conn) {
  try{
   if(rs!=null){
    rs.close();
   }
   if(pst!=null){
    pst.close();
   }
   if(conn!=null){
    conn.close();
   }
  }catch(SQLException eee){
   eee.printStackTrace();
  }
 }

}

Dao层

/*
 * 接口
 */

public interface MasDao {
 /*
  * 登录
  * @param m 注入对象 :主要是id和密码
  * @return 主人对象
  */
 public Mas login(Mas m);
}

/*
 * 继承帮助类实现接口
 */
public class MasDaoImpl extends BaseDao implements MasDao { 
 public Mas login(Mas m) {
  PreparedStatement pst =null;
  ResultSet rs=null;
  Connection conn=getConnection();
  Mas ms=null;
  String sql="select * from mas where loginid=? and password=?";
  try{
   pst=conn.prepareStatement(sql);
   pst.setString(1, m.getLoginid());
   pst.setString(2, m.getPassword());
   rs=pst.executeQuery();
   while(rs.next()){
    ms=new Mas();
    ms.setId(rs.getInt("id"));
    ms.setLoginid(rs.getString("loginid"));
    ms.setPassword(rs.getString("password"));
   }
  }catch(SQLException e){
   e.printStackTrace();
  }finally{
   close(rs,pst,conn);
   
  }
  return m;
 }
  
}

biz层

/*
 * 接口
 */

public interface MasBiz {
 /*
  * 登陆
  */
 public Mas login(Mas m);
}

/*
 * 实现接口
 */

public class MasBizlmpl implements MasBiz{
 MasDao dao=new MasDaoImpl();
 //业务层:简单业务,一个sql
 public Mas login(Mas m){
  //访问层
  Mas mm=dao.login(m);
  return mm;
 }
}

Controller(控制层)<web>

public class MasController {
 //页面跳转,数据封装
 public Mas login(String  loginId ,String password){
  MasBiz mb = new MasBizlmpl();
  Mas m=new Mas();
  m.setLoginid(loginId);
  m.setPassword(password);
  Mas mm=mb.login(m);
  return mm;
 }

数据库访问层一

标签:basename   catch   version   exec   long   ring   class   end   close   

热心网友 时间:2022-05-02 00:12

从业务规则层接收请求,从数据服务获取数据或向其发送数据。 使用存储过程获取数据,并可选用 ADO.NET 向数据库发送数据,将数据库查询结果返回到业务规则层,作为ADO.NET 数据集。 

数据数据访问层主要看数据层里面有没有包含逻辑处理,实际上各个函数主要完成各个对数据文件的操作。而不必管其他操作。业务逻辑层主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

扩展资料:

注意事项:

借鉴多种分布式数据库访问模式,基于MySQL开源协议,采用数据库代理方式,形成分布式数据库中间件解决方案,解决分布式系统数据库分库分表带来的数据透明访问难题。

在负载均衡的控制方面,通过LVS+zookeeper实现负载均衡、可设置权重实现灰度发布,通过keepalived+VIP消除单点故障隐患。

参考资料来源:百度百科-数据访问层

热心网友 时间:2022-05-02 01:30

三层结构中数据访问层的主要功能是实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层BBL。

在实际运行的过程中,数据访问层没有逻辑判断能力,为了实现代码编写的严谨性,提高代码阅读程度,一般软件开发人员会在该层中编写DataAccessCommon,保证数据访问层DAL数据处理功能。

扩展资料:

三层架构业务逻辑简单;没有真正的数据存储层,也就不需要数据访问层,这样简单的结构是不需要三层架构的。

但是当业务复杂到一定程度之后,当数据存储在相应的数据库或者的存储介质时,既有业务逻辑层,又有数据访问层时,把数据访问脱离开业务逻辑,把业务逻辑脱离开UI,UI是需要呼叫业务访问层,就可以实现与用户的交互。

热心网友 时间:2022-05-02 03:05

数据访问层,顾名思义,主要功能是程序于数据库之间的交互,按照程序的请求对数据库进行访问,并将所请求的数据结果返回给程序

热心网友 时间:2022-05-02 04:56

与数据库打交道,也就是访问数据库,一般命名为DBhelper 或者DBbase

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com