使用的是MySql数据库
1.首先连接数据库
package com_Lgl;
import java.sql.*;
public class Test {
public static void main(String[] args) {
String driverName = "com.mysql.jdbc.Driver";
String dbURL = "jdbc:mysql://localhost:3306/TestSql"; //3306是数据库的端口
String userName = "root";
String userPwd = "admin";
Connection dbConn=null;
try {
Class.forName(driverName).newInstance();
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("连接成功!");
}
catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(dbConn!=null)
dbConn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2 数据库连接接口Connection
Connection对象代表已经装载的Driver和数据库之间的连接。通过它可以创建用于子查询,插入,更改等操作的SQL语句。
它的主要五种方法:
1 Stantement createStatement() 创建一个Statement对象 用于执行SQL语句。
2 PrepareStatement preparStatement(String sql) 创建一个预处理对象,字符串sql往往包含了一个或者多个“?”占位符
使用如下
con=DriverManager.getConnection(dburl,user,password);
//创建PrepareStatement()对象
PrepareStatement psmt=con.PrepareStatement("insert into userinfo values(?,?,?,?,?)");
psmt.setString(1,username);
psmt.setInt(2,age);
...
...
psmt.setString(5,password);
psmt.executeUpadate() //执行插入操作 调用该方法数据才会被修改。
3 记录集接口ResultSet
Result用来存储执行查询后返还的结果集,他提供了访问结果的方法。通过它可以访问结果的不同字段,通过执行ResultSet.next()将指针移动到第一行上{最初的Result指针在第一行之前},重复执行即可访问下一级。知道ResultSet()为空为止。ResultSet()常用方法如下所示。
1 next()
2getString():获得数据库里是varchar,char等数据类型的数据。
3getObject():获取无对应数据类型的对象,可以获得序列化对象等。
grtXXX()方法提供了获取当前行中某字段的途径。该方法的参数可以是一与列名相同的字符串,也可以是代表某一列的数字。(字符串大小写不敏感,列的编号是从1开始)
下面一段代码说明Result接口的使用
try{
con=DriveMannager.getConnection(dburl,user,password);
Statement stm=con.CreateStatement();
ResultSet rst=stm.executeQuery("select * from user");
while(rst.next())
{
out.println(rst.getString("username"));
out.println(rst.getInt("age"));
out.println(rst.getDate("birthday"));
}
}catch(SQLException e){
e.printStackTrace();
}