JDBC基础(一)

1、下载jar包,mysql5.7.21,使用的是下图版本的jar包没有问题


2、将jar放在项目中新建的lib文件夹中


3、在TestJDBC项目名称上右键buildpath导入该包,Referenced Library中出现同名的小奶瓶就是导包成功了

     build path->configure build path->add jars->找到本项目下lib文件中的jar包


4、mysql中创建database,再建表,并插入数据



5、eclipse中新建package,新建Class,编写代码流程如下:

a)   注册驱动,使用反射进行驱动的注册

Class.forName("com.mysql.jdbc.Driver");

b)   使用Connection类建立连接

String url = "jdbc:mysql://localhost:3306/myproj";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url,username,password);

其中url为格式为:

jdbc        :    mysql       ://   localhost:3306                         /   mysql

固定写法  数据库类型  ://   DB厂商规定的IP地址以及端口 /  database名称

c)   创建语句执行者

Statement stmt = conn.createStatement();

d)   执行SQL语句

ResultSet rs = stmt.executeQuery(sql);

通过Statement获得执行sql语句的方法,主要有两种

  • int excuteUpdate(String sql):用于insert、update、delete(DML),返回值为这条sql语句影响的条数
  • ResultSet excuteQuery(String sql),用于select语句(DQL),返回查询到的结果集

e)   处理结果(对于DQL的结果集进行处理)

通过ResultSet类中的方法对结果集进行处理:

  • 使用同一的:Object getObject(int col)方法,字符集中的任何类型都可以用这个,因为Object是所有类型的父类型,其中int参数代表了你要取这条记录的第几列(列号从1开始);
  • 按照类型分别使用不同的方法,如String getString(int col),Int getInt(int col),这里面用的都是基础类型的包装类,参数与上面那个方法一样
if (rs.next()){
			System.out.println(rs.getObject(1)+"的密码为"+rs.getObject(2));
		}

f) 关闭资源,一定要记得关闭资源

rs.close();
stmt.close();
conn.close();

6、除了注册驱动的是mysql.jdbc下的之外,其他的包都是java.sql下的,不要导错了


7、完整代码

package my.test.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestLogin {

	/**
	 * @param args
	 * @throws SQLException 
	 * @throws ClassNotFoundException 
	 */
	public static void main(String[] args) throws SQLException, ClassNotFoundException {
		Class.forName("com.mysql.jdbc.Driver");
		String url = "jdbc:mysql://localhost:3306/myproj";
		String username="root";
		String password="root123";
		String sql="select * from user;";
		Connection conn = DriverManager.getConnection(url,username,password);
		Statement stmt = conn.createStatement();
		ResultSet rs = stmt.executeQuery(sql);
		while (rs.next()){
			System.out.println(rs.getObject(1)+"的密码为"+rs.getObject(2));
		}
		rs.close();
		stmt.close();
		conn.close();
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值