web第5天(配置tomcat连接池,web四层的流程)
配置Tomcat的conf/context.xml:连接池
注意:
1.NamingException,说明数据源出问题了
2.想要测试数据源,必须基于tomcat,不能使用测试类
- 需要修改apache-tomcat-8.5.57\conf下的context.xml配置文件
![image]()
- 将以下代码复制到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"/>

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层),也需要有接口和对应的实现类
流程:
- 要操作哪个表,就先创建哪个表的entity(实体类)
- 创建对应的dao接口层,写操作数据库的方法(根据实际情况写方法)
- 创建dao接口层的实现类,继承BaseDao,重写接口层的方法,实现具体增删改查的代码
- 创建对应的service接口层,该层方法可以和对应的dao层中的方法一致
- 创建service接口层的实现类,该实现类不需要亲自操作数据库,只需要创建对应dao的对象即可,通过dao对象去调用增删改查方法,还可以实现业务逻辑
(例如:先去哪个表做操作,再去哪个表做操作) - 在对应的jsp页面创建service层对象去调用方法实现功能
注意:原则上,每个数据库表操作都有一对dao层(接口和实现类)和一对service层


浙公网安备 33010602011771号