📄 n_facade.java
字号:
/*
FACADE—我有一个专业的Nikon相机,我就喜欢自己手动调光圈、快门,这样照出来的照片才专业,但MM可不懂这些,教了半天也不会。幸好相机有Facade设计模式,把相机调整到自动档,只要对准目标按快门就行了,一切由相机自动调整,这样MM也可以用这个相机给我拍张照片了。
门面模式:外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。每一个子系统只有一个门面类,而且此门面类只有一个实例,也就是说它是一个单例模式。但整个系统可以有多个门面类。
*/
import java.sql.*;
import java.util.*;
class DBConnection{
Connection cn=null;
public DBConnection(){
}
public DBConnection(String servername,String dbname){
this.connect(servername,dbname);
}
public void connect(String servername,String dbname){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn=DriverManager.getConnection("jdbc:microsoft:sqlserver://"+servername+":1433;databasename="+dbname,"sa","");
System.out.println("信息提示:连接"+servername+"服务器"+dbname+"数据库已成功!");
}catch(Exception e){System.out.println("信息提示:连接"+servername+"服务器"+dbname+"失败!\n"+e);}
}
public Vector select(String sql){
Vector v=new Vector();
if(cn==null){
System.out.println("您还没有连接到数据库,请尝试调用connect(String servername,String dbname)方法!");
}
try{
Statement st=cn.createStatement();
ResultSet rs=st.executeQuery(sql);
ResultSetMetaData rsmd=rs.getMetaData();
int num=rsmd.getColumnCount();
while (rs.next()) {
Vector v1=new Vector();
for (int i = 1; i < num + 1; i++) {
String s = rs.getString(i);
v1.add(s);
}
v.add(v1);
}
}catch(Exception e1){System.out.println("数据库查询失败!"+e1);}
return v;
}
public boolean update(String sql){
if(cn==null){
System.out.println("您还没有连接到数据库,请尝试调用connect(String servername,String dbname)方法!");
}
try{
System.out.println("您要执行的查询语句是:"+sql);
Statement st=cn.createStatement();
int i=st.executeUpdate(sql);
System.out.println("查询语句执行成功!");
if (i == 0) {
return false;
} else {
return true;
}
}catch(Exception e2){System.out.println("数据库操作失败"+e2);return false;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -