无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java學習筆記:防注入,預處理的實現(xiàn)步驟,字節(jié)流,獲取,讀取配置文件【詩書畫唱】

2020-07-08 22:31 作者:詩書畫唱  | 我要投稿


SQL_PreparedStatement:

什么是防注入?

直接輸入字符串,拼接后,用戶再輸入一個or 1=1的時候,那么這個條件是肯定成立的,所以用戶輸入不輸入用戶名都沒有多大的關系了,會把數(shù)據(jù)都打印出來等等。為了解決這個問題,就要使用preparedstatement解決,它默認將sql語句編譯成函數(shù),每次只要傳入相應的參數(shù)就可以了,就可以防止用戶sql注入。

預處理:我們每次對于數(shù)據(jù)庫操作數(shù)據(jù)庫都要將sql語句編譯成函數(shù),

如果我們使用預處理的時候,數(shù)據(jù)庫就默認生成了一個函數(shù),以后

傳入相同的內(nèi)容的時候,只需要調用這個函數(shù)就可以了,這個就可以提升sql執(zhí)行的效率


預處理的實現(xiàn)步驟:

//1.導入數(shù)據(jù)包

//2.加載數(shù)據(jù)包

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

//3.創(chuàng)建連接數(shù)據(jù)庫的對象(Connection)

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=fuxi","qqq","11111");

//4.創(chuàng)建執(zhí)行sql語句的對象,是用statement,防注入,預處理是用preparedStatement

String sql="select * from denglu where uid=? and uname=?";//1

PreparedStatement ps=con.prepareStatement(sql);//編譯sql語句

ps.setObject(1, 1);

ps.setObject(2, "qwe");

//5.寫并且執(zhí)行sql語句,ResultSet的對象

ResultSet res=ps.executeQuery();//使用這個方法去執(zhí)行sql語句

//6.遍歷這個對象

while(res.next()){

System.out.println(res.getObject(1)+"? "+res.getObject(2));

}


為什么要讀取配置文件:

//將一些常用的配置信息保存在配置文件里,

//java類一旦編譯,雖然我們不能直接修改編譯后的文件,但是我們

//可以修改配置文件,寫的代碼對于配置都是去配置文件里讀的,萬一

//數(shù)據(jù)庫用戶名或者密碼修改之后,我直接修改配置文件即可。

//讀取配置文件:

//1.建立一個文件,src目錄下,文件名稱可以隨便,但是后綴名必須為.properties

//2..properties中添加幾個內(nèi)容

//3.在main中添加一下代碼


將這個配置文件轉化為字節(jié)流

//使用類加載器轉化文件

InputStream is=qqq.class.getResourceAsStream ("../zz.properties");

Properties p=new Properties();

p.load(is);

System.out.println(p);

//獲取指定的單個內(nèi)容

System.out.println(p.getProperty("qq"));




配置文件就是XXX.properties格式的文件

之后點“New”“Other”“File”,之后就命名XXX.properties格式。

每次寫好Java文件,點擊執(zhí)行的時候,都會自動編譯生成和Java文件相同名字的class文件,之后發(fā)給別的公司class文件和配置文件,別的公司把這個文件從桌面等處拖到Java等的編譯器中時,可以運行,并且用配置文件更改處理class中的數(shù)據(jù)庫名,用戶名,用戶密碼等。但看到的都是”0101“之類的二進制,但可以通過“反編譯”生成源碼等。

Java學習筆記:防注入,預處理的實現(xiàn)步驟,字節(jié)流,獲取,讀取配置文件【詩書畫唱】的評論 (共 條)

分享到微博請遵守國家法律
石林| 连州市| 桃园市| 潮安县| 千阳县| 大港区| 汤原县| 芦溪县| 惠安县| 福鼎市| 霍林郭勒市| 沿河| 会泽县| 五指山市| 西林县| 桐柏县| 霞浦县| 武山县| 双柏县| 榆中县| 灵山县| 都昌县| 卢龙县| 宜君县| 樟树市| 阜平县| 仪陇县| 建平县| 镇原县| 分宜县| 兴宁市| 乌拉特前旗| 天峻县| 阿克| 岳阳市| 牡丹江市| 察雅县| 梅河口市| 白水县| 麻栗坡县| 颍上县|