JavaWeb--JDBC
在Java中一般用JDBC来对数据库进行操作(增、删、改、查),一般查找(select)操作用Statement类的executeQuery方法,其他三个即增删改(add,delete,update)操作用Statement类的executeUpdate方法。
JDBC的第一步是加载驱动:(这里我们用的服务器是apache-tomcat 9.0 用的数据库是mysql5 用的jdk是11.0.8)
由于用的数据库是mysql故驱动是"com.mysql.jdbc.Driver";
加载驱动的方法是:Class.forName("com.mysql.jdbc.Driver");
第二步是与数据库建立连接:
与数据库建立连接需要三个数据:
- 第一个数据库的地址:即url:jdbc:mysql://localhost:3306/XX(3306是数据库的端口号,可以改变,改变的时候用改变后的,XX写数据库的名字,这里我的是test )
- 第二个是数据库的用户名:一般都是root
- 第三个是数据库的密码:一般也都是root(一般学习阶段建议用root,否则容易遗忘)
建立连接用到了Connection类
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
第三步是创建执行sql语句的对象
用到了Statement类
Statement stmt = conn.creatStatement();
第四步是编写sql语句
String sql="";(自己写增删改查,我太懒了,也太多了)
第五步执行sql语句
1.如果执行select方法时
这里要注意如果sql语句是查询执行Statement方法中的executeQuery方法,执行后得到所有满足条件的结果集,然后就需要我们定义一个结果集去接收这些结果集,然后去遍历所有的结果
ResultSet rs = stmt.executeQuery(sql);
得到遍历的结果集,然后执行遍历
while(rs.next()){
int id=rs.getInt("id");
String name=rs.getString("name");
String password=rs.getString("password");
String sex=rs.getString("sex");
Date birthday=rs.getDate("birthday");
System.out.println("账号是-"+id+"-密码是-"+password+"-姓名是-"+name+"-性别是-"+sex+"-生日是-"+birthday);
}
执行时,rs执行方法的指针指向第0行,判断下一行有没有数据?有数据就往下指,没有就停止。最后遍历所有数据。
0 | id | password | name | sex | birthday |
1 | |||||
2 |
2.如果执行add,delete,update方法时
直接执行Statement类中的方法即
stmt.executeUpdate(sql);
即可执行操作在数据库中进行增删改操作
第六步就是关闭资源
因为我们创建这些对象的时候都会占用计算机中的内存资源,如果我们不用这些资源了,我们最好主动释放这些资源。释放的方法是对象下的close方法。
如果执行的是Statement类的executeQuery()方法则需要关闭三个资源:
- 第一个创建连接数据库时的Connection类资源,这里释放资源的代码是 conn.close();
- 第二个是创建执行sql语句的Statement类资源,这里释放资源的代码是 stmt.close();
- 第三个是执行sql语句(查询语句)时获得的结果集ResultSet类资源,这里释放资源的代码是 rs.close();
如果执行的是Statement类的executeUpdate()方法则直接关闭前两个资源即可。