JDBC使用流程--使用java代码完成连接mysql数据库并进行查询

有个问题要说在开头,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();
1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

这句代码的意思是,利用反射,生成一个class对象,这个class对象就是全限定名里的类的class,和编译这个类生成的class是一样的。这么做是为了方便日后换数据库。
总之,这么一句代码就是让Driver类加载一下,然后里面的一些数据会初始化,这样就完成注册。
(但是,我用连接mysql的时候,不注册这个驱动,不写这行代码,剩下的也能运行成功。java之道博大精深,我等自当好好钻研)

2.创建连接
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"

3.创建sql操作对象
Statment stmt = conn.createStatement();

使用Statement对象,向数据库发送sql语句。

4.发送sql语句,并取得结果集对象
ResultSet rs = stmt.executeQuery("select * from t_user");

ResultSet就是结果集对象,通过这个对象可以把查询到的数据存放到这个对象里面。

5.展示数据
while(rs.next()){//rs.next()如果rs还有下一条数据则返回true,并让rs指向下一条数据
	System.out.println(rs.getObject("id"));//通过列名取得数据
	System.out.println(rs.getObject("name"));
	System.out.println("---------");
}

就是这个样子嘛,没有啥好说的

6.关闭资源

毕竟服务器资源有限,通道用完不关,最后就会非常臃肿。因此我们要把各种通道关上,关的时候要从下往上关

rs.close();
stmt.close();
conn.close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值