20165304《Java程序设计》第七周学习总结

教材学习内容总结

第11章 JDBC与MySQL数据库

MySQL数据库管理系统
MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是最流行的免费下载的开源数据库管理系统。
下载安装后,进行启动MySQL数据库服务器,并建立连接,建立数据库,创建表等操作。

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

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

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);
}

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);

条件与排序查询:
where子语句
一般格式:
select 字段 from 表名 where 条件
2.排序
用order by子语句对记录排序

更新、添加与删除操作
1.更新
update 表 set 字段 = 新值 where <条件子句>
2.添加
insert into 表(字段列表) values (对应的具体的记录)

insert into 表 values (对应的具体的记录)
3.删除
delete from 表名 where <条件子句>

使用预处理语句

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

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

代码托管

学习进度

已完成代码1440行,已完成博客数量13篇。

学习感受

已经学习了7周的java感触颇深,我觉得学习非常的赶进度,因为电脑坏了一次,后来又换了一个电脑,一次一次的重装软件浪费了大量的时间。导致学习比较落后。结组的队友退学了。合作完成的学习任务迟迟没有完成,进度落下不少,所以压力较大,希望可以快些追上老师的进度。

原文地址:https://www.cnblogs.com/zl1998827/p/8849375.html