JDBC笔记1-sql基础

JABC (Java DataBase Connectivity),连接数据库和JAVA语言,需要加载专门的驱动来实现。

1.在java项目配置里面导入jar包

2.在JAV中调用驱动接口 

加载驱动

    public static final String url = "jdbc:mysql://127.0.0.1:3306/learn?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
    public static final String account="root";
    public static final String password="123456";
    try {
			//新版 需加关键字jc
			Class.forName("com.mysql.jc.jdbc.Driver");
		}catch(ClassNotFoundException e) {
			e.printStackTrace();
		}

URL的主要需要提供数据库端口以及数据库名称,这里mysql数据库端口是3306,我使用的数据库名字是learn。

不同的数据库写法不同

Oracle:jdbc:oracle:thin:@localhost:1521:learn

SqlServer:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=learn

MySql:jdbc:mysql://localhost:3306/learn
 

在8.0.11的JDBC中新版本有几点改动

1.加载方式变为Class.forName("com.mysql.jc.jdbc.Driver");   多了jc

2.出现时间及ssl错误加上定义 &serverTimezone=GMT%2B8&useSSL=false

3.完整实例

这里只要正常在语句里面使用JDBC就可以了,贴上完整代码

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

public class my_jdbc {
	//固定开头 跟数据库的名字  本地我设置了三个数据库 选一个
	public static final String url = "jdbc:mysql://127.0.0.1:3306/learn?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
	public static final String account="root";
	public static final String password="123456";

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			//新版 需加关键字jc
			Class.forName("com.mysql.jc.jdbc.Driver");
		}catch(ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		try 
		{
			Connection c = DriverManager.getConnection(url,account,password);
			Statement stmt = c.createStatement();
			ResultSet rs = stmt.executeQuery("select * from customers");
			while(rs.next()) {
				//rs的遍历结果下标是从1开始的
				System.out.println("id: " + rs.getInt(1) + " name: "+
						rs.getString(2));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		
	}

}

4.增删改查

根据字符串进行简单的增删改查的方法

executeQuery(String sql)      用于向数据发送查询语句。
executeUpdate(String sql)    用于向数据库发送insert、update或delete语句
execute(String sql)               用于向数据库发送任意sql语句
addBatch(String sql)            把多条sql语句放到一个批处理中。
executeBatch()                     向数据库发送一批sql语句执行。
传入String 直接调用就可以了

结果存放在ResultSet类里面,在数据元组里面进行滚动,得到指定行的数据

next():移动到下一行

Previous():移动到前一行

absolute(int row):移动到指定行

beforeFirst():移动resultSet的最前面。

afterLast() :移动到resultSet的最后面

滚动之后就可以调用方法查询当前行中的列数据

getString()  getInt   getDate()  getTime()等,支持传入列序号以及列名两种方式

getString(1)//获取第一列数据

getString("name")//获取列名是name的数据

注:滚动是在表格的行之间滚动,get是在某行的列之间进行get

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值