Servlet与mysql数据库连接的小问题

1.如果在Servlet和web.xml(url连接串在此中初始化)中都有对数据库的声明,如下
web.xml
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mysql</param-value>
</init-param>

Servlet
st.executeUpdate("use bookstore");

这时以Servlet中的数据库为主。如果此时你插入一个建表的语句,将会建在bookstore数据库中而不是mysql数据库中
2.如果你在web.xml中没有声明数据库,而在Servlet中声明,则以Servlet中为主

web.xml
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/</param-value>
</init-param>

Servlet
st.executeUpdate("use bookstore");
此时建表会建在bookstore中。
3.相反,如果类中没有,但web.xml中有,则以web.xml为主。
4.两者必须有一个,否则建表失败。

总的来说, 两个都有,以类为主;
只有一个,以他为主;
不能没有;

原文地址:https://www.cnblogs.com/lan0725/p/1873970.html