原生JDBC開発

1929 ワード

原生JDBCの開発
  • イニシャル駆動Class.forName("com.mysql.jdbc,Driver")
  • 接続取得// DriverManager Connection conn = DriverManager.getConnection(url,username,password)
  • SQL文実行対象取得String sql = "sql "PreparedStatement pt = new PreparedStatement(sql)
  • sql文の実行 :(int)pt.excuteUpdate() : (ResultSet)pt.excuteQuery()
  • 接続を閉じる
  • PreparedStatementの利点1、パラメータ設定String sql="insert into hero values(null,?,?,?)";pt.setString(1,「value 1」)2、性能が良い3、SQL注入防止
    executeとexecuteUpdateの違い1:executeはクエリー文を実行しgetResultSetを介して結果セットを取り出しexecuteUpdateはクエリー文を実行できない違い2:executeはbooleanタイプを返し、trueはクエリー文を表し、falseはinsert、delete、updateなどのexecuteUpdateはintを返し、どのくらいのデータが影響を受けているかを示します
    JDBCツールクラス
  • プロファイル作成(データベースユーザ名、パスワードなど)
     1、  jdbc.properties
         driver=com.mysql.jdbc.Driver
         url=jdbc:mysql://localhost:3306/database?characterEncoding=utf8
         username=root
         password:1234
    
  • JDBCUtilsクラスの作成
    1、      
        private static String url ;  
    
        private static String userName ;  
    
        private static String password;  
           
        private static String driver; 
        
    2、                  
    static {
        InputStream inStream = JDBCUtil.class.getResourceAsStream("/jdbc.properties");  
        Properties prop = new Properties();  
        prop.load(inStream);  
        USERNAME = prop.getProperty("jdbc.username");  
        PASSWORD = prop.getProperty("jdbc.password");  
        DRIVER= prop.getProperty("jdbc.driver");  
        URL = prop.getProperty("jdbc.url");
        Class.forName(driver); 
        
    }
    
    3、     
        public static Connection getConnection() throws SQLException {  
            Connection conn = null;  
            conn = DriverManager.getConnection(url, userName, password);  
            return conn;  
        }