Java使用JDBC用操作MySQL的基本实现

JDBC是什么

JDBC是Java访问数据库的解决方案。
JDBC定义了一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口。

JDBC工作原理

  1. 将驱动包放到项目中,加载驱动,通过反射完成驱动类的注册
//加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");		
  1. 获取Connection连接:根据URL连接参数找到匹配的Driver对象,然后获取连接
//获取Connection链接
String url="jdbc:mysql://localhost:3306/xuexiao?serverTimezone=GMT";
String user="root";
String password="******";
Connection conn = DriverManager.getConnection(url, user, password);
  1. 创建Statement执行SQL语句
    增删改:调用executeUpdate(sql),返回值为int类型;
    查:调用executeQuery(sql),返回ResultSet;
//创建Statement对象
Statement stat = conn.createStatement();
//新增一个学生对象
String sql="insert into student(sname,ssex,birthday,classid)values('侠侠','女','1998-9-9',3)";
//执行sql
int ret = stat.executeUpdate(sql);
if(ret>0) {
	System.out.println("成功");
}else {
	System.out.println("失败");
	}
//释放资源
stat.close();
conn.close();
//全查学生
String sql="select * from student";
ResultSet rs = stat.executeQuery(sql);		
  1. 返回ResultSet查询结果
    在执行查询的sql语句时,返回的是ResultSet结果集,需要对结果集进行解析,一般是对其进行遍历。

    1.ResultSet.next()方法用来判断下一个数据是否为空;
    2.ResultSet.getXXX(***)方法用来取得字段的内容;

    1) get后是将要获取字段的类型
    2) 参数有两种:
    	一种是columnIndex,字段的索引,如果选用此参数需要注意数据库索引是从1开始的,且在获取数据时,要按照索引顺序递增,否则会报错。
        另一种是:columnLabel,字段名,选择此参数不用讲究顺序,较为方便直接。
    
String sql="select * from student";		
ResultSet rs = stat.executeQuery(sql);				
	
if(rs!=null) {
	while(rs.next()) {
	//参数为索引:rs.getInt(columnIndex)	
//	int sid = rs.getInt(1);
//	String sname = rs.getString(2);
				
	//参数为字段名:rs.getInt(columnLabel)
	int sid = rs.getInt("sid");	
	String sname = rs.getString("sname");
	String ssex = rs.getString("ssex");
	Date birthday = rs.getDate("birthday");
	int classid = rs.getInt("classid");			
System.out.println(sid+""+sname+""+ssex+""+birthday+""+classid);
			}
		}
  1. 释放资源
    在进行资源释放时需要注意先后顺序,先创建的资源要后释放,后创建的要先释放,这样可以保证资源的有效性和数据的完整性。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值