JAVA SE 进阶篇 C6 数据库编程基础

本文介绍了如何使用Java通过JDBC连接MySQL数据库,包括使用Navicat创建测试表,导入MySQL驱动,建立数据库连接,执行查询和插入操作。详细步骤从驱动加载到SQL语句的执行进行了详解,展示了数据库编程的基础流程。
摘要由CSDN通过智能技术生成

P1 数据库编程基础

1 使用Navicat设计一个测试表

为了接下来的测试,用Navicat先新建一个数据库,设计一个简单的表,由于MySQL中没有boolean,所以使用bit来表示,默认1为男,0为女,varchar是最大长度的意思:
在这里插入图片描述
表中记录:
在这里插入图片描述
NaviCat中检索:
在这里插入图片描述
接下来的就要从java中,连接到数据库,并对表中的内容进行增删查改

2 导入第三方jar包,ODBC与JDBC连接模式

java可以连接到不同的数据库,如Oracle,SQLServer,MySQL等,连接不同的数据库需要不同的第三方提供的工具包,这里使用专门为MySQL连接提供服务的jar包
在这里插入图片描述
其中有一个类Driver.class这是用来启动和连接MySQL的数据库驱动类

连接分为两种模式:ODBC(桥接模式)和JDBC(直连模式)

桥接模式即数据库和操作系统先连接起来,操作系统提供统一的接口,Java与操作系统提供的接口相连

直连模式即绕过操作系统,直接和数据库连接

3 导入驱动,产生连接

package com.mec.test.database;

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

public class Test {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		
		//导入一个MySQL驱动
		Class.forName("com.mysql.jdbc.Driver");
		
		//产生数据库连接,需要指明详细信息
		//连接协议,连接主机,端口号,登录名,登录密码
		Connection connection = DriverManager.getConnection(
				"jdbc:mysql://127.0.0.1:3306/test_info", 
				"root", 
				"111");
					
	}
}

4 用Java语句访问数据库,查询,插入

查询表中内容:

		//导入一个MySQL驱动
		Class.forName("com.mysql.jdbc.Driver");
		//产生数据库连接,需要指明详细信息,连接协议,连接主机,端口号,登录名,登录密码
		Connection connection = DriverManager.getConnection(
				"jdbc:mysql://127.0.0.1:3306/test_info", 
				"root", 
				"111");
		
		//准备SQL语句
		String sql = "SELECT id, password, sex FROM user_info";
		
		//SQL语句的准备
		PreparedStatement statement = connection.prepareStatement(sql);
		
		//将查询结果存储到结果集
		ResultSet rs = statement.executeQuery();
		
		//遍历结果集,取出列名对应的值
		while(rs.next()) {
			String id = rs.getString("id");
			String password = rs.getString("password");
			String sex = rs.getString("sex");
			
			System.out.println(id + "," + password + "," + sex);
		}

运行结果显示成功查询了表中的内容:
在这里插入图片描述
向表中插入内容:

		//导入一个MySQL驱动
		Class.forName("com.mysql.jdbc.Driver");
		//产生数据库连接,需要指明详细信息,连接协议,连接主机,端口号,登录名,登录密码
		Connection connection = DriverManager.getConnection(
				"jdbc:mysql://127.0.0.1:3306/test_info", 
				"root", 
				"111");
		
		//准备SQL语句
		String sql = "INSERT INTO user_info(id, sex, password)"
				+ " VALUE('202005','1','12354')";
		
		//SQL语句的准备
		PreparedStatement statement = connection.prepareStatement(sql);
		
		//将查询结果存储到结果集
		statement.executeUpdate();

查询结果显示正确地插入了一个记录
在这里插入图片描述

注意在只查询时,需要使用executeQuery(),在进行表更改时使用executeUpdate()

5 连接步骤小结

1,导入驱动 
Class.forName("com.mysql.jdbc.Driver");
2,产生连接 
Connection connection = 
DriverMangener.getConnection("jdbc:mysql://127.0.0.1:3306/表名",
"用户名","密码");
3,准备SQL语句
String sql = "SELECT....";
PreparedStatement statement = connection.prepareStatement(sql);
4,执行SQL语句,存储到结果集
ResultSet rs = statement.executeQuery();
5,遍历打印结果集
while(rs.next()) {
	String id = rs.getString("id");	
}

注意:
1,SQL语句并不是由Java来执行,而是直接传递给了数据库来执行
2,数据库大体上说有两种操作,一种是检索(SELECT),另一种是更改(INSERT,UPDATE,DELETE),对于检索的SQL语句执行时使用executeQuery(),对于更改的SQL语句执行时使用executeUpdate()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值