web第5天(配置tomcat连接池,web四层的流程)

配置Tomcat的conf/context.xml:连接池

注意:
1.NamingException,说明数据源出问题了
2.想要测试数据源,必须基于tomcat,不能使用测试类

  1. 需要修改apache-tomcat-8.5.57\conf下的context.xml配置文件
    image
  2. 将以下代码复制到context.xml配置文件中
<Resource name="jdbc/news"
              auth="Container"  type="javax.sql.DataSource"  maxActive="100" 
              maxIdle="30" maxWait="10000" username="root"  password="bdqn" 
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://127.0.0.1:3306/kgcnews"/>

image
3. 将以下代码复制到BaseDao

public boolean getConnection2() {
			try {
				/*
				import javax.naming.Context;
				import javax.naming.InitialContext;
				*/
				//初始化上下文
				Context cxt=new InitialContext();
				//获取与逻辑名相关联的数据源对象(拿数据源)
				//import javax.sql.DataSource;
				DataSource ds=(DataSource)cxt.lookup("java:comp/env/jdbc/news");//jdbc/news逻辑名
				conn=ds.getConnection();
			} catch (NamingException e) {
				e.printStackTrace();
				return false;
			} catch (SQLException e) {
				e.printStackTrace();
				return false;
			}
			return true;
		}

service层

作用:业务逻辑层,不做任何数据库操作,只指挥dao层(调用dao层),也需要有接口和对应的实现类

流程:

  1. 要操作哪个表,就先创建哪个表的entity(实体类)
  2. 创建对应的dao接口层,写操作数据库的方法(根据实际情况写方法)
  3. 创建dao接口层的实现类,继承BaseDao,重写接口层的方法,实现具体增删改查的代码
  4. 创建对应的service接口层,该层方法可以和对应的dao层中的方法一致
  5. 创建service接口层的实现类,该实现类不需要亲自操作数据库,只需要创建对应dao的对象即可,通过dao对象去调用增删改查方法,还可以实现业务逻辑
    (例如:先去哪个表做操作,再去哪个表做操作)
  6. 在对应的jsp页面创建service层对象去调用方法实现功能
    注意:原则上,每个数据库表操作都有一对dao层(接口和实现类)和一对service层
posted @ 2022-11-09 17:41  不再犹豫27  阅读(50)  评论(0)    收藏  举报