day17-jdbc 3.jdbc快速入门
通过java程序操作数据库。
对数据库操作是对记录的操作。记录就是DML和DCL。
只要Java程序跟任何设备进行了连接,用完之后必须释放资源。最简单基础班讲I/O流,Java跟文件进行了连接,用完之后关闭文件流。数据库也是一个设备。Java跟数据库连接上了用完之后也要关闭。必须把资源释放。
package cn.itcast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.mysql.jdbc.Driver; public class JdbcDemo1 { public static void main(String[] args) throws SQLException { //1.注册驱动 DriverManager.registerDriver(new Driver());//一注册驱动,驱动就加载到内存里面了 也就是说我们就可以用它了 //2.获取连接对象 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day17", "root", ""); System.out.println(con); //connection是接口,是驱动,驱动肯定把这个接口实现了 编程用最顶层去接收操作起来会比较方便 前面是父,后面是子 用最顶层接收 //3.通过连接对象获取操作sql语句的Statement Statement st = con.createStatement(); //4.操作sql语句 String sql = "select * from user"; ResultSet rs = st.executeQuery(sql);//ResultSet就是查询的结果,可以想象成是集合,但是它不是集合 //5.遍历结果集 /* boolean flag = rs.next();//向下移动,返回值为true,代表有下一条记录。 System.out.println(flag); int id = rs.getInt(1); int id1 = rs.getInt("id"); System.out.println(id); System.out.println(id1); String username = rs.getString(2); String username1 = rs.getString("username"); System.out.println(username); System.out.println(username1);*/ while(rs.next()){ int id = rs.getInt("id"); String username = rs.getString("username"); String password = rs.getString("password"); String email = rs.getString("email"); System.out.println(id+" "+username+" "+password+" "+email); } //只要Java程序跟任何设备进行了连接,用完之后必须释放资源。最简单基础班讲I/O流,Java跟文件进行了连接,用完之后关闭文件流。数据库也是一个设备。Java跟数据库连接上了用完之后也要关闭。必须把资源释放。 //6.释放资源 rs.close();//结果集得关 st.close(); con.close(); //直接把con关闭了,数据库和程序断开了。但是statement和resultset没有及时释放,它还在内存存着。close()是释放和回收资源。 //close()的顺序和进门出门是一样的,是进门的时候先进大门,出门的时候是最后才出大门 //============= //Java可以操作数据库 } }