Просто простая демонстрация MVC.
В классе Service есть
JDBCutil db=new JDBCutil();
db.beginTransation();
UserinfoDao dao=new UserinfoDao();
В классе UserinfoDao,есть также
JDBCutil db=new JDBCutil();
Я думал, что есть два new JDBCutil
, но на самом деле существует только одно соединение.
Почему?Из-за db.beginTransation();
?и почему?
Я сожалею, что я виноват в том, что не публикую JDBCutil (спасибо за упоминание комментария), это может быть "статическое соединение" (похоже на Singleton) одно соединение, хотя два новых .the кодаэто
private static Connection conn=null;
private PreparedStatement pst;
//获取Connection连接
public Connection getConnection(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("加载Oracle驱动成功");
String url="jdbc:oracle:thin:@10.25.39.252:1521:orcl";
String userName="cccda";
String pwd="123456";
if(conn==null){
conn=DriverManager.getConnection(url, userName, pwd);
}
System.out.println("获取Connection连接成功");
} catch (ClassNotFoundException e) {
System.out.println("加载Oracle驱动失败");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("获取Connection连接失败");
e.printStackTrace();
}
return conn;
}