20175318 2018-2019-2 《Java程序设计》第九周学习总结

20175318 2018-2019-2 《Java程序设计》第九周学习总结

教材学习内容总结

第11章 JDBC与MySQL数据库

11.1 MySQL数据库管理系统

MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是最流行的免费下载的开源数据库管理系统。

下载安装后,进行启动MySQL数据库服务器,并建立连接,建立数据库,创建表等操作。

11.2 连接MySQL数据库

1.下载JDBC-MySQL数据库驱动

2.加载JDBC-MySQL数据库驱动
代码如下:

try{ 
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){} 

11.3 连接数据库

使用Connection getConnection(java.lang.String)方法建立连接的代码如下:

Connection con; String uri = "jdbc:mysql://192.168.100.1:3306/students?user=r oot&password=&useSSL=true"; 
try{ con = DriverManager.getConnection(uri); //连接代码 } catch(SQLException e){ System.out.println(e); }

使用Connection getConnection(java.lang.String, java.lang.String, java.lang.String)方法建立连接的代码如下:

Connection con;
String uri = "jdbc:mysql:// 192.168.100.1:3306/students? useSSL=true";
String user ="root";
String password ="";
try{  
      con = DriverManager.getConnection(uri,user,password); //连接代码
   }
catch(SQLException e){
      System.out.println(e);
}

11.4 查询操作

具体步骤:

1.向数据库发送SQL查询语句

try{  Statement sql=con.createStatement();
}
catch(SQLException e ){}

2.处理查询结果

注:
无论字段是何种属性,总可以使用getString(int columnIndex)或 getString(String columnName)方法返回字段值的串表示。

3.关闭连接

顺序查询:
指ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,next()方法最初的查询位置,即游标位置,位于第一行的前面。next()方法向下(向后、数据行号大的方向)移动游标,移动成功返回true,否则返回false。

控制游标:
为了得到一个可滚动的结果集,需使用下述方法获得一个Statement对象。

Statement stmt = con.createStatement(int type ,int concurrency);

条件与排序查询:
(1)where子语句
一般格式:

select 字段 from 表名 where 条件

(2)排序
用order by子语句对记录排序

11.5 更新、添加与删除操作

1.更新

update 表 set 字段 = 新值 where <条件子句>

2.添加

insert into 表(字段列表) values (对应的具体的记录)

insert into 表 values (对应的具体的记录)

3.删除

delete from 表名 where <条件子句>

11.6 使用预处理语句

Connection和某个数据库建立了连接对象con,那么con就可以调用prepareStatement(String sql)方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中,那么该对象调用下列方法都可以使得该底层内部命令被数据库执行。

11.7 事务

JDBC事务处理步骤

1.用setAutoCommit(booean b)方法关闭自动提交模式
2.用commit()方法处理事务
3.用rollback()方法处理事务失败

错题总结

下列关于public int read(byte[] b, int off, int len)方法的叙述,正确的是 
A .此方法覆盖了InputStream类中的read方法。
B .此方法从该输入流中将最多len个字节的数据读入一个byte数组中。
C .此方法返回读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回-1。
D .如果b为null,则会抛出IndexOutOfBoundsException异常。

正确答案:A B C

解析:D项异常抛出错误,应该抛出NullPointerException异常。

代码托管

码云链接

代码统计

参考链接

《Java2 实用教程(第五版)》
使用开源中国(码云)托管代码
使用码云和博客园学习简易教程

猜你喜欢

转载自www.cnblogs.com/L1079991001/p/10784816.html
今日推荐