赞
踩
有个问题要说在开头,JDBC驱动是数据库厂商实现的类,并导成jar包,如果我们想使用这个驱动,就得导入相应jar包。我以mysql为例,因此我用的就是mysql的jdbc驱动的jar包。
下面是导入jar包之后的流程。
简单说一下,如何用JAVA代码完成连接,查询操作
//1.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //2.创建连接--创建Connection对象 String url="jdbc:mysql://localhost:3306/";//数据库所在服务器(电脑)的url,如果数据库配置在本机,这个就是固定写法,3306是mysql的端口号,就像tomcat的端口号是8080一样。 String dbName="testcsdn";//数据库的名字,所以url+dbName就是数据库所在服务器(电脑)+数据库的名字 String username="root";//root用户 String password="111111";//数据库密码 Connection conn = DriverManager.getConnection(url+dbName,username,password); //3.创建sql操作对象--创建Statement对象(这个不安全,但是先用这个演示) Statment stmt = conn.createStatment(); //4.接收查询结果 ResultSet rs = stmt.executeQuery("select * from t_user");//实际开发中不要写*,这样比较耗费资源啦 //5.将结果打印到控制台 while(rs.next()){ System.out.println(rs.getObject("id")); System.out.println(rs.getObject("name")); } //6.关闭资源 rs.close(); stmt.close(); conn.close();
Class.forName("com.mysql.jdbc.Driver");
这句代码的意思是,利用反射,生成一个class对象,这个class对象就是全限定名里的类的class,和编译这个类生成的class是一样的。这么做是为了方便日后换数据库。
总之,这么一句代码就是让Driver类加载一下,然后里面的一些数据会初始化,这样就完成注册。
(但是,我用连接mysql的时候,不注册这个驱动,不写这行代码,剩下的也能运行成功。java之道博大精深,我等自当好好钻研)
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testcsdn","root","111");
一个Connection对象就是一个连接会话。相当于使用一个cmd窗口创建一个连接。
getConnection方法有很多重载的方法,目前是有的这个是需要三个参数。
getConnection(String url , String user , String password);
1.String url,这个是数据库的地址
String url = "jdbc:mysql/localhost:3306/testcsdn"
jdbc:mysql
是固定写法
localhost:3306
中,localhost是数据库所在服务器的IP地址,3306是mysql的端口号
testcsdn
是数据库的名称
2.String user,数据库的用户
String user = "root"
3.String password,数据库密码
String password="111111"
Statment stmt = conn.createStatement();
使用Statement对象,向数据库发送sql语句。
ResultSet rs = stmt.executeQuery("select * from t_user");
ResultSet就是结果集对象,通过这个对象可以把查询到的数据存放到这个对象里面。
while(rs.next()){//rs.next()如果rs还有下一条数据则返回true,并让rs指向下一条数据
System.out.println(rs.getObject("id"));//通过列名取得数据
System.out.println(rs.getObject("name"));
System.out.println("---------");
}
就是这个样子嘛,没有啥好说的
毕竟服务器资源有限,通道用完不关,最后就会非常臃肿。因此我们要把各种通道关上,关的时候要从下往上关
rs.close();
stmt.close();
conn.close();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。