
public static void main(String[] args){
// 驱动程序名
String driver = "com.mysql.jdbc.Driver"
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs"
// MySQL配置时的用户名
String user = "root"
// MySQL配置时的密码
String password = "root"
try {
// 加载驱动程序
Class.forName(driver)
// 连续数据库
Connection conn = DriverManager.getConnection(url, user, password)
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!")
// statement用来执行SQL语句
Statement statement = conn.createStatement()
// 要执行的SQL语句
String sql = "select * from student"
// 结果集
ResultSet rs = statement.executeQuery(sql)
System.out.println("-----------------")
System.out.println("执行结果如下所示:")
System.out.println("-----------------")
System.out.println(" 学号" + "\t" + " 姓名")
System.out.println("-----------------")
String name = null
while(rs.next()) {
// 选择sname这列数据
name = rs.getString("sname")
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(name.getBytes("ISO-8859-1"),"GB2312")
// 输出结果
System.out.println(rs.getString("sno") + "\t" + name)
}
rs.close()
conn.close()
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!")
e.printStackTrace()
} catch(SQLException e) {
e.printStackTrace()
} catch(Exception e) {
e.printStackTrace()
}
view sourceprint?01.
DELIMITER
02.
03.
DROP FUNCTION IF EXISTS urlencode
04.
05.
DELIMITER |
06.
07.
CREATE FUNCTION urlencode (s VARCHAR(4096)) RETURNS VARCHAR(4096)08.
DETERMINISTIC
09.
CONTAINS SQL
10.
BEGIN
11.
DECLARE c VARCHAR(4096) DEFAULT ''
12.
DECLARE pointer INT DEFAULT 1
13.
DECLARE s2 VARCHAR(4096) DEFAULT ''
14.
15.
IF ISNULL(s) THEN
16.
RETURN NULL
17.
ELSE
18.
SET s2 = ''
19.
WHILE pointer <= length(s) DO
20.
SET c = MID(s,pointer,1)
21.
IF c = ' ' THEN
22.
SET c = '+'
23.
ELSEIF NOT (ASCII(c) BETWEEN 48 AND 57 OR24.
ASCII(c) BETWEEN 65 AND 90 OR
25.
ASCII(c) BETWEEN 97 AND 122) THEN
26.
SET c = concat("%",LPAD(CONV(ASCII(c),10,16),2,0))27.
END IF
28.
SET s2 = CONCAT(s2,c)
29.
SET pointer = pointer + 1
30.
END while
31.
END IF
32.
RETURN s2
33.
END
34.
|
35.
DELIMITER
view sourceprint?
01.
DROP FUNCTION IF EXISTS urldecode
02.
03.
DELIMITER |
04.
05.
CREATE FUNCTION urldecode (s VARCHAR(4096)) RETURNS VARCHAR(4096)06.
DETERMINISTIC
07.
CONTAINS SQL
08.
BEGIN
09.
DECLARE c VARCHAR(4096) DEFAULT ''
10.
DECLARE pointer INT DEFAULT 1
11.
DECLARE h CHAR(2)
12.
DECLARE h1 CHAR(1)
13.
DECLARE h2 CHAR(1)
14.
DECLARE s2 VARCHAR(4096) DEFAULT ''
15.
16.
IF ISNULL(s) THEN
17.
RETURN NULL
18.
ELSE
19.
SET s2 = ''
20.
WHILE pointer <= LENGTH(s) DO
21.
SET c = MID(s,pointer,1)
22.
IF c = '+' THEN
23.
SET c = ' '
24.
ELSEIF c = '%' AND pointer + 2 <= LENGTH(s) THEN25.
SET h1 = LOWER(MID(s,pointer+1,1))
26.
SET h2 = LOWER(MID(s,pointer+2,1))
27.
IF (h1 BETWEEN '0' AND '9' OR h1 BETWEEN 'a' AND 'f')28.
AND
29.
(h2 BETWEEN '0' AND '9' OR h2 BETWEEN 'a' AND 'f')30.
THEN
31.
SET h = CONCAT(h1,h2)
32.
SET pointer = pointer + 2
33.
SET c = CHAR(CONV(h,16,10))
34.
END IF
35.
END IF
36.
SET s2 = CONCAT(s2,c)
37.
SET pointer = pointer + 1
38.
END while
39.
END IF
40.
RETURN s2
41.
END
42.
43.
|
44.
45.
DELIMITER
当一个字符串经过多次 urlencode 处理之后,可以使用 multiurldecode来解码,它将多次调用 urldecode来解码,直到没有需要解码的字符www.it165.net
view sourceprint?
01.
DELIMITER
02.
03.
DROP FUNCTION IF EXISTS multiurldecode
04.
05.
DELIMITER |
06.
07.
CREATE FUNCTION multiurldecode (s VARCHAR(4096)) RETURNS VARCHAR(4096)08.
DETERMINISTIC
09.
CONTAINS SQL
10.
BEGIN
11.
DECLARE pr VARCHAR(4096) DEFAULT ''
12.
IF ISNULL(s) THEN
13.
RETURN NULL
14.
END IF
15.
REPEAT
16.
SET pr = s
17.
SELECT urldecode(s) INTO s
18.
UNTIL pr = s END REPEAT
19.
RETURN s
20.
END
21.
22.
|
23.
24.
DELIMITER
、链接mysql 驱动类 com.mysql.jdbc.Driver 连接字符串( jdbc:mysql://localhost:3306/pubs ,user=r
oot, password=root} )
(pubs为数据库名,
localhost为主机地址,若数据库在远程则为IP地址
user =用户名
password = 密码
)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)