C3p0連線池整合
阿新 • • 發佈:2020-07-14
連線資料庫
如果與資料庫進行互動,必須匯入相應的資料庫驅動,以為maven為例子,需要在pom.xml當中引入相關jar包的下載地址
jbdc相關配置
jar包引入相關MySQL,最好用5.1版本以上的。
import java.io.InputStream; import java.sql.*; import java.util.Properties; import java.util.Scanner; public class test { static PreparedStatement pstmt=null; static Connection dbConn =null; static ResultSet rs=null; static InputStream fis=null; static Properties pp=null; static String driver=""; static String url=""; static String username=""; static String password=""; public static void testConnect(String sql) throws Exception { // 註冊MySQL驅動 (可以省略這一步) Class.forName("com.mysql.jdbc.Driver"); // 連線MySQL伺服器 String username= "root"; String password = ""; String connectionUrl = "jdbc:mysql://127.0.0.1:3306/java?useUnicode=true&characterEncoding=UTF-8"; Connection conn = DriverManager.getConnection(connectionUrl, username, password); System.out.println("連線成功!"); Statement statement =conn.createStatement(); rs=statement.executeQuery(sql); while (rs.next()) { String name=rs.getString("name"); String wpassword =rs.getString("password"); System.out.println(name+"\t"+wpassword); //由這啥介面帶回來的一個物件,物件內包含對資料庫的查詢資料 } conn.close(); } public void findbyid() { } public static void main(String[] args) throws Exception { Scanner src =new Scanner(System.in); System.out.println("尊敬的超級管理員,歡迎您\n請輸入id進行查詢"); int id =src.nextInt(); String sql="select * from user where id="+id; System.out.println(sql); try { testConnect(sql); } finally { System.out.println("關閉連線!"); } } }
長連線,與短連線
短連線是指,使用完一次SQL語句後就關閉對資料庫的連線,該方法操作簡單,缺點效率不夠高
長連線顧名思義與短連線相反,它是指在連線成功時候,使用多條SQL語句,難點就在於什麼時候斷開連線,開發維護有一定難度。
普通查詢和預處理查詢
這兩個查詢完全取決於兩個不同的介面
1.Statement//普通查詢
2.preparedstatement//預處理查詢
使用第二種查詢是目前主流,它具有一定防禦SQL注入的功能。
C3p0連線池的使用
該專案原始碼未使用maven,如果你使用了maven,可以百度找到相關jar包的倉庫地址引入pom.xml配置檔案當中。與其效果一樣。
1.使用連線池必須新增相關的jar包,這種包可以稱它為第三方框架
jar包下載
2.新增c3p0的配置檔案,該檔名必須以c3p0-config.xml命名
配置檔案下載
該檔案建議放在src目錄下
3.專案原始碼
下載
這裡簡單配置好了一個,資料庫自己建吧!記得修改xml裡資料庫的相關引數。如果匯入專案報紅,或者出現紅叉一般是jre/jdk不相容導致的,刪除專案當中的jdk,新增你電腦本地的jar。
4.為什麼使用連線池?
因為連線池能優化連線次數,減少資源消耗,大大提高訪問資料庫的時間效率,目前druid被稱為功能性最強的連線池,它是阿里,支付寶專用連線池,提供了服務監控,執行緒,防注入等功能。學到後面連線池會搭配一些優秀框架來整合使用,這就是大佬口中常說的框架整合。