while()
今天在整理JDBC相关知识的时候想写一下自己的理解
推荐一个讲解JDBC视频:慕课网的JDBC-对面的女孩看过来
说简单点,JDBC Java Database Connectivity,顾名思义,就是一个Java数据库连接包,在Java和数据库之间搭建了一个桥梁,可以互通有无。
一般操作JDBC也只需几个步骤
1.首先加载数据源的驱动程序
String driver="com.mysql.jdbc.Driver" //driver是数据库的驱动程序 Class.forName(driver) //Class.forName来驱动
2.建立数据库的连接
String url="jdbc:mysql://127.0.0.1:3306/shopping"(数据源) String username="root"(你自己数据库的用户名) String password=“”(我设定的密码为空) Connection connection=DriverManager.getConnection(urlString, "root", "")
完成这两部之后就已经将你的Java程序和数据库建立了连接,也就说明这个桥搭建好了
3.建立连接之后就可以用sql语句对数据库进行访问,需要创建Statement对象,这个对象用来执行SQL语句
Statement statement=(Statement) connection.createStatement();
4.statment执行完SQL语句后需要将查询的结果以resultset的形式返回
String sql="select *from new_table where id=1 "; ResultSet resultSet=(ResultSet) statement.executeQuery(sql);
5.之后可以对结果集进行处理
while(resultSet.next()){ //next()指针的位置向下移一行
String str1=resultSet.getString(2) //获取第二个字段对应的值 }
6.操作完之后需要关闭数据库的连接,主要包括connection 对象和 statement对象connection.close(); statement.close();
<hr>
以上6步骤基本上算是完成了一个轮回,另外需要注意几点
1.将jdbc的jar包正确导入
2.处理resultset
2.1 getString(); next();
2.2 滚动结果集
要用到Preparement对象
2.3 resultset结果集也实现了几个滚动处理的method
boolean absolute(int row) //绝对滚动处理
boolean relative(int rows) //每次移动相应的行间距,相对滚动
boolean first()
boolean last()
boolean next()
boolean previous()
boolean isFirst()
boolean isLast()
boolean isBeforeFirst()//是否指针在第一行前面
boolean isAfterLast()
void BeforeFirst()//将指针移动到第一行之前
void afterlast90
3.学会正确运用数据库语言
4.
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import com.mysql.jdbc.ResultSet; import com.mysql.jdbc.Statement; public class jdbc01 { public static void main(String[] args) throws Exception { //加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); String urlString="jdbc:mysql://127.0.0.1:3306/shopping"; Connection connection=DriverManager.getConnection(urlString, "root", ""); System.out.println("数据库链接成功"); Statement statement=(Statement) connection.createStatement(); String sql="select *from new_table where id=1 "; ResultSet resultSet=(ResultSet) statement.executeQuery(sql); while (resultSet.next()) { System.out.println(resultSet.getString("id")+" "+resultSet.getShort("age")+" "+resultSet.getString("name")); } connection.close(); statement.close(); } }