传智播客学习笔记4.17

传智播客学习笔记4.17

复习:
创建数据库、表
对表里的数据进行操作
mysql不支持check约束

oracle中调用存储过程:exec
mysql中:call

存储过程的用途:
熟悉oracle的存储过程即可


常见函数:
聚合函数:max/count/min/avg

javascript / css

Class.forName("com.mysql.jdbc.Driver");

静态代码块:类载入内存时即执行一次

资源释放过程:
后进先出

知识点、代码质量、熟练程度

连接数据库的步骤:

1、注册驱动(只做一次)
三种方式:
DriverManager.registerDriver(new com.mysql.jdbc.Driver());(import中会引入一个类,离开mysql驱动会无法编译)
System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");(引入一个字符串,无具体依赖)

Class.forName("com.mysql.jdbc.Driver");(推荐此种方式)(引入一个字符串,无具体依赖)
原因可查mysql源代码中driver.java(静态代码块)

2、建立连接(Connection)
jdbc:子协议:子名称//主机名:端口/数据库名?属性名=属性值&...

3、创建执行SQL的语句(Statement)


4、执行语句
5、处理执行结果(ResultSet)
6、释放资源
Connection的使用原则:尽量晚创建,早释放

jdbcutil的单例模式代码:

package cn.itcast.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public final class JdbcUtilsSingle {
 
 private String url = "jdbc:mysql://localhost:3306/itcast";
 private String user = "root";
 private String password = "root";
 
// private static JdbcUtilsSingle instance = new JdbcUtilsSingle();
 
 private static JdbcUtilsSingle instance = null;
 
 private JdbcUtilsSingle(){
  
 }
 
 public static JdbcUtilsSingle getInstance(){//jdk1.5以上版本才能完全正常运行
  if(instance == null){
   synchronized (JdbcUtilsSingle.class) {
    if(instance == null)//双重加锁
    instance = new JdbcUtilsSingle();
   }
   
  }
  return instance;
 }
 
 static{
  try {
   Class.forName("com.mysql.jdbc.Driver");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   throw new ExceptionInInitializerError(e);
  }
 }
 
 public  Connection getConnection() throws SQLException{
  return  DriverManager.getConnection(url,user,password);
 }
 
 public  void free(ResultSet rs,Statement st,Connection conn){
  try{
   if(rs!=null)
    rs.close();
  }catch (SQLException e){
   e.printStackTrace();
  }
  finally{
   try{
    if(st!=null)
     st.close();
   }catch (SQLException e){
    e.printStackTrace();
   }
   finally{
    if(conn!=null)
     try{
      conn.close();
     }
     catch (SQLException e){
      e.printStackTrace();
     }
     
   }
   
  }
 }
}

 


rs中,列的索引号从1开始

CRUD:
create
read
update
delete

虽然早就知道传智的老师经验丰富,牛人众多。但是看到何老师的自我介绍,还是有点被这样的豪华阵容镇住了。何老师显然是数据库方面的权威。对ORACLE极为熟悉。讲课涉及面极广,提供的讲义内容也很全面。听他的讲解有种高屋建瓴的感觉。当然,除了具体知识,何老师对整个软件行业的介绍也同样不能错过。难得的经验之谈啊。

你可能感兴趣的:(传智播客学习笔记)