发表于: 2019-01-10 20:24:10

1 562


今天完成的事情:

1  任务一第17步:





完成了jdbc与数据库的连接以及增删改查:


package jdbc;

import java.sql.*;

public class MySQLDemo {
//JDBC驱动名及数据库  URL
   static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
   static final String DB_URL="jdbc:mysql://localhost:3306/baoming?serverTimezone=GMT&useSSL = false";
   //数据库的用户与密码,需要根据自己的位置
   static final String USER="root";
   static final String PASS="123456";
   public static void main (String[] args){
Connection conn=null;
       Statement stmt=null;
       try{
//注册JDBC驱动
           Class.forName("com.mysql.cj.jdbc.Driver");
           //打开连接
           System.out.println("连接数据库...");
                                           //数据库,用户,通过
           conn= DriverManager.getConnection(DB_URL,USER,PASS);
           //执行查询
           System.out.println("实例化Statement对象...");
           stmt=conn.createStatement();
           String sql;
           sql="SELECT id,name,qq FROM aoming_tbl";
           ResultSet rs =stmt.executeQuery(sql);
           //展开结果集数据库
           // rs.next()即用来判断是否有下一行,如果有则执行循环体。而这里如果有下一行即查询表中每一行的数据
           while(rs.next()){
//通过字段检索
               /*
               rs.getInt(int index);
               rs.getString(String columName);
               即你可以通过索引index或者列名String columName来获得查询结果集中的某一列的值,注意返回的是值。
                */
               int id =rs.getInt("id");
               String name=rs.getString("name");
              int qq=rs.getInt("qq");
               //输出数据
               System.out.println("ID:"+id);
               System.out.println(",姓名:"+name);
               System.out.println("qq:"+qq);
               System.out.println("\n");

           }
//完成后关闭
           rs.close();
           stmt.close();
           conn.close();
       }
//        catch(SQLException se){
//            //处理JDBC错误
//            se.printStackTrace();
//        }catch (Exception e){
//            //处理Class.forName错误
//            e.printStackTrace();
//        }
       catch (ClassNotFoundException e) {
e.printStackTrace();
       } catch (SQLException e) {
e.printStackTrace();
       } finally{
//关闭资源
           try{
if(stmt!=null)stmt.close();
           }catch(SQLException se2){
}//什么都不做
           try{
if(conn!=null)conn.close();
           }catch(SQLException se){
se.printStackTrace();
           }
}
System.out.println("Goodbye!");
   }
}


学会了如何调包:

通过pom.xml调包,然后再去maven中央仓库中找到需要的包  将相关内容复制到pom.xml中:


<dependencies>
   <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
   <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>8.0.7-dmr</version>
   </dependency>

</dependencies>


2多态:

意义:

同一类型的引用指向不同的对象,有不同的实现 ----行为的多态 

同一对象被造型为不同类型时,有不同的功能----对象的多态 



1是 父类型   2是实现的接口    1与2 都是向上造型
只不过 1中最前面的词 都是父类        2最前面的词 是接口 ,最后面的词 是对 最前面的词 的实现 


因为o1所指向的对象是Boo类型   而且o1也是Boo类型   所以符合3.1)  所以强转成功  返回true


如何看对象  与  引用类型?
AOO O2=NEW BOO     则O2所指向的对象类型为 BOO   (因为O2是由BOO赋值而来的)    O2的引用类型是AOO (因为BOO已经将O2转换为AOO类型,但是O2所指向的对象类型依然是BOO)


2明天的计划:

1 写一个实体类来表示一张表

2通过jdbc编写dao

3基础学习




3遇到的问题:

1现在可以在网上找出相关代码并敲出来,大部分代码也可以看懂,但是要自己敲出来,还是做不到






收获:

1学习了 如何用jdbc连接数据库 以及增删改查  

2温故了多态







返回列表 返回列表
评论

    分享到