在用String.splitҎ分隔字符串时Q分隔符如果用到一些特D字W,可能会得不到我们预期的结果?br />
我们看jdk doc中说?br />
public String[] split(String regex)
Splits this string around matches of the given regular expression.
参数regex是一?regular-expression的匹配模式而不是一个简单的StringQ他对一些特D的字符可能会出C预想不到的结果,比如试下面的代码:
用竖U?| 分隔字符Ԍ你将得不到预期的l果
String[] aa = "aaa|bbb|ccc".split("|");
//String[] aa = "aaa|bbb|ccc".split("\\|"); q样才能得到正确的结?br />
for (int i = 0 ; i <aa.length ; i++ ) {
System.out.println("--"+aa);
}
用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常Q用加号 + 也是如此?br />
String[] aa = "aaa*bbb*ccc".split("*");
//String[] aa = "aaa|bbb|ccc".split("\\*"); q样才能得到正确的结?
for (int i = 0 ; i <aa.length ; i++ ) {
System.out.println("--"+aa);
}
昄Q? * 不是有效的模式匹配规则表辑ּQ用"\\*" "\\+"转义后即可得到正的l果?br />
"|" 分隔串时虽然能够执行Q但是却不是预期的目的,"\\|"转义后即可得到正的l果?br />
q有如果惛_串中使用"\"字符Q则也需要{?首先要表?aaaa\bbbb"q个串就应该?aaaa\\bbbb",如果要分隔就应该q样才能得到正确l果Q?br />
String[] aa = "aaa\\bbb\\bccc".split(\\\\);
二、jspq接Sql Server7.0/2000数据?
testsqlserver.jsp如下Q?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubsZ的数据库?
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的W一个字D内容ؓQ?lt;%=rs.getString(1)%>
您的W二个字D内容ؓQ?lt;%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜?);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
三、jspq接DB2数据?
testdb2.jsp如下Q?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sampleZ的数据库?
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的W一个字D内容ؓQ?lt;%=rs.getString(1)%>
您的W二个字D内容ؓQ?lt;%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜?);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
四、jspq接Informix数据?
testinformix.jsp如下Q?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INformIXSERVER=myserver;
user=testuser;password=testpassword";
//testDBZ的数据库?
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的W一个字D内容ؓQ?lt;%=rs.getString(1)%>
您的W二个字D内容ؓQ?lt;%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜?);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
五、jspq接Sybase数据?
testmysql.jsp如下Q?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdataZ的数据库?
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的W一个字D内容ؓQ?lt;%=rs.getString(1)%>
您的W二个字D内容ؓQ?lt;%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜?);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
六、jspq接MySQL数据?
testmysql.jsp如下Q?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDBZ的数据库?
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的W一个字D内容ؓQ?lt;%=rs.getString(1)%>
您的W二个字D内容ؓQ?lt;%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜?);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
七、jspq接PostgreSQL数据?
testmysql.jsp如下Q?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//softZ的数据库?
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的W一个字D内容ؓQ?lt;%=rs.getString(1)%>
您的W二个字D内容ؓQ?lt;%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜?);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
W二范式Q?NFQ要求数据库表中的每个实例或行必d以被惟一地区分。ؓ实现区分通常需要ؓ表加上一个列Q以存储各个实例的惟一标识。如
?-2 员工信息表中加上了员工编Pemp_idQ列Q因为每个员工的员工~号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称Z关键字或主键、主码?br /> W二范式Q?NFQ要求实体的属性完全依赖于d键字。所谓完全依赖是指不能存在仅依赖d键字一部分的属性,如果存在Q那么这个属性和d键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关pRؓ实现区分通常需要ؓ表加上一个列Q以存储各个实例的惟一标识。简而言之,W二范式是非主属性非部分依赖于主关键字?br />
W三范式Q?NFQ要求一个数据库表中不包含已在其它表中已包含的非d键字信息。例如,存在一个部门信息表Q其中每个部门有部门~号Qdept_idQ、部门名U、部门简介等信息。那么在?-2
的员工信息表中列出部门编号后׃能再部门名U、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NFQ也应该构徏它,否则׃有大量的数据冗余。简而言之,W三范式是属性不依赖于其它非d性?