对数据库进行访问时,需要使用SQL语句。
三种statement类:
Statement:
由createStatement创建,用于发送简单的SQL语句
PreaparedStatement:
用于发送含有一个或多个输入参数的sql语句
CallableStatement:用于调用存储过程
execute():
运行语句,返回是否有结果集,一般不建议使用比较麻烦
executeUpdate():
运行insert/update/delete操作,返回所影响的行数
executeQuery():
运行select语句,只能用于执行查询语句,返回结果利用ResultSet返回
ResultSet查询结果集
需要使用getXXX()方法对集中的数据进行访问,可通过列索引或者列名获取列中的数据进行访问。例如访问第一列的数据 getString(1)
访问输出指定列名的数据getString("username")
下面是访问数据库的一般步骤代码
import java.sql.*;
public class DEMO2 {
public static void main(String[] args) {
try {//加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("jdbc驱动加载成功");
//建立连接
Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root","111111");
System.out.println("数据库连接成功!!!");//创建Statement语句 对其进行封装,发送给数据库。
Statement sttm=conn.createStatement();
//sttm.execute("insert into t_user (username,pwd,regTime) values('刘姗姗',111111,now())");//插入sql语句
ResultSet rs=sttm.executeQuery("SELECT id,username,pwd,regTime FROM t_user");//查询结果使用ResultSet结果封装。
while(rs.next()){//如果有下一条语句则返回true 反之则为false 输出的内容为当前的语句
System.out.println(rs.getString("id")+" "+rs.getString("username")+" "+rs.getString("pwd")+" "+rs.getString("regTime"));
}
rs.close();
sttm.close();
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("驱动加载失败");
}
}
}