JAVA学习之数据库
一切为了应试,考试不能决定一切,但不考试也是万万不行的。
数据库的操作一般需要捕获异常,不然会有编译错误需要处理。
所以总的框架需要这样:
try {
数据库操作语句
} catch(Exception e)
{
System.out.println(e);
//e.printStackRrace();
}
接下来是固定的一些步骤:
1.装载驱动器,代码固定,基本上无脑写吧...(虽然书上的newInstance()还未搞懂...)
class.forName("com.mysql.jdbc.Driver");
2.建立与数据库的连接,语句为:
Connection con=DriverManager.getConnection(url,user,password);
user和password好理解就是用户的数据库账户和密码,注意这里都用字符串形式。
而url也基本固定,大概格式如下;
jdbc:mysql://localhost:3306/数据库名
所以若数据库名为mydatebase,用户账户为gcf,密码为abc。
则这一句完整的语句如下
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydaytebase","gcf","abc");
3.对数据库进行操作
1)创建Statement对象,语句如下:
Statement stmt=con.createStatement();
2)使用Statement对象执行语句。
简单介绍两个方法,executeQuery()和executeUpdate(),其中需要对数据库进行的操作需要以字符串形式在形参中。
例如:
executeQuery()语句
ResultSet result=stmt.executeQuery("SELECT * FROM person");
----------------
executeUpdate()语句
stmt.executeUpdate("DELETE FROM person WHERE Name='李四'");
4.提取执行结果。
在询问语句中,总需要一个载体去存结果。
这里使用ResultSet结果集对象类去存,因为查询结果将作为结果集对象返回,所以实例一个结果集对象的实例去接受结果。
具体语句格式就如上面一样,直接接受executeQuery的返回结果即可。
接受后,如何处理成能用的形式,可以采用以下形式。
1)使用next方法。
第一次使用时,指针指向第一行,之后每一次使用都会移向下一行。
通常方法是输出所有信息时,用来遍历每一行,来输出每个元组的所有信息。
result.next();
用法如下:
while(result.next())
{
//对当前元组进行操作。
}
2)使用getXXX方法。
使用getXXX方法可以从当前行中挑选出自己想要的信息,方便自己的查询。
这里有两种方法可以定位自己像查找的列。
Ⅰ.给出列名。
Ⅱ.给出列号。
举例:例如表中第2列是属性name,则在当前行想访问这一列的信息可以使用如下:
String s=result.getString("name");
或
String s=result.getString(2);
当然这里还有一个小细节问题,便是数据库类型和JAVA中类型的转换,
复杂的不用记,简单的如下,很好记。
整数:getInt() - INTEGER
实数:getFloat() - REAL
浮点数:getDouble() - FLOAT/DOUBLE
字符串:getString() - CHAR/VARCHAR
5.最后一步,也是很重要的一步(划重点,考试会考)。
关闭连接。
按照定义顺序的倒序,关闭所有东西。
这里便是固定的如下语句。
stme.close();
con.close();
//关闭的对象名根据建立连接和创建Statement的对象名来。
数据库简单的内容就到此为止了,还有很多拓展的部分书上都有补充,猛奶一口,考试不考,加油!!!