学习jdbc学习笔记

1.jdbc: java database connection
      jdbc规范:是sun公司制定的一套连接操作数据库的接口.
      我们必须要用具体的驱动类去连接操作数据库。
    每个驱动类都实现了jdbc规范.
    规范中掌握三个接口:
        Connection: 表示连接对象
        Statement: 表示命令对象。执行sql语句用的
        ResultSet: 表示结果集.
   
   三种注册驱动的方式
         1.创建mysql包中的Driver类。
         2.采用反射创建驱动类的对象
         3.采用反射加载驱动类
         前两种由于注册了两次。同时与具体类耦合性太高,所以不用。实际当中采用第三种
 
 三种获取连接对象的方式:
       1.将用户名和密码附加在连接字符串之后
           jdbc:mysql://localhost:3306/mydb?user=root&password=root
       2.采用创建properties文件的方式
          Properties pro = new Properties() ;
         pro.load(new FileReader("src/jdbc.properties")) ;
         Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb",pro) ;
       3.采用连接字符串,用户名和密码获取
          DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root") ;
          
  补充:Properties类
      此类主要的功能是读取properties文件。properties文件的写法必须是键值对的方式(键=值),参见代码
         
     游标的移动:mysql数据库的结果集默认游标的类型是可移动方式,意味着可以来回移动
        rs.next() ;  向下移动一条
        rs.beforeFirst() ;移动到第一条记录前边
        rs.afterLast();移动到最后一条记录的下边
        rs.relative(n) ; 移动到相对于当前位置的n条记录的位置
        rs.absolute(n) ; 直接定位到第n条记录
        rs.last() ;移动到最后一条记录
   
   获取结果集数据的两种方式:
            1.采用列的索引获取  : 注意索引从1开始
            2.采用列名获取:  注意是虚拟结果集的列名
 
  封装数据到集合对象中
 
  sql注入的问题:statement对象存在sql注入。因此采用PreparedStatement对象。此
  对象是预编译对象,意味着提前先编译好sql语句,因此效率高于statement对象,也防止了sql注入.
 
  CREATE TABLE users
(
    id VARCHAR(10) PRIMARY KEY,
    NAME VARCHAR(20) ,
    PASSWORD VARCHAR(20)
) ;

INSERT INTO users VALUES('1','郭靖','111') ;
INSERT INTO users VALUES('2','令狐冲','222') ;
INSERT INTO users VALUES('3','乔峰','333') ;
 
 

原文地址:https://www.cnblogs.com/ouysq/p/4437467.html