java:数据库驱动链接

Mysql,驱动mysql-connector-java-5.1.27.jar,官网下载,https://dev.mysql.com,独立平台开发版
如果是用最新的MySQL,记得用新的jar包,最近就出现不兼容的情况了 ~ _ ~
mysql-connector-java-5.1.46.jar,连接方式:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:dabatasename", "andy", "123456");//dabatasename为数据库名
//协议名+子协议名+数据源名

如果是较新版本的如mysql-connector-java-8.0.11.jar包,基本原理差不多,改变的地方是不需要手动加载驱动程序,但会有时钟异常,后面一大坨就是解决那个的,连接方式为:

Class.forName("com.mysql.cj.jdbc.Driver");//也可以不写,没影响
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/fleas?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false", "root", "handsome");

SQL时钟异常的情况

java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

Oracle,驱动classes12.jar,可在安装Oracle目录搜索找到

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin://127.0.0.1:oracle", "andy", "123456");

黑历史啊~~~~,太久没用oracle看了下之前连一下发现错了。。。现在已经纠正了,顺便补充一下内容吧,以下给小白看,尽量让当初自己学的时候一脸懵逼,让新学的感觉好理解点
使用java连接数据库,简称JDBC(Java DataBase Connectivity,java数据库连接),无论以后你学JSP,用Hibernate,Mybatis,总之连接数据库都要进行类似的操作,这里介绍简单的JDBC连接

过程大体六步:

导包==》加载驱动程序==》连接到数据库==》连接后需要自行的操作指令(select、update…)= =》执行操作指令以及返回的结果==》关闭连接

一、导jar包

新建一个lib文件夹,复制粘贴包进去,不同数据库加载的jar包不同,大体如图示:
在这里插入图片描述
发现少了oracle,可以直接右键==》Build Path==》Add to Build Path手动加载进去

二、加载驱动程序

不同数据库的加载也不同
加载mysql驱动:Class.forName(“com.mysql.jdbc.Driver”);
加载oracle驱动:Class.forName(“oracle.jdbc.driver.OracleDriver”);

try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

三、连接到数据库

完成这部,数据库就连接成功了,基本就是增删改查balabala之类的

Connection conn = DriverManager.getConnection("jdbc:oracle:thin://127.0.0.1:oracle", "andy", "123456");

MySQL上面有就不重复粘代码了

四、操作指令(sql语句)

操作指令有statement、preparestatement、CallableStatement,具体执行百度两者的区别(想精通就去自行百度研究吧),很多博客有介绍,不做详细介绍

PreparedStatement sql = conn.prepareStatement("select * from student_07");

五、执行操作指令以及返回的结果

执行方法有:
execute(String sql):运行语句,返回是否有结果集
executeQuery(String sql):运行select语句,返回ResultSet结果集。
executeUpdate(String sql):运行insert/update/delete操作,返回更新的行数。
addBatch(String sql) :把多条sql语句放到一个批处理中。
executeBatch():向数据库发送一批sql语句执行。

返回结果ResultSet的get方法可以获得返回的结果,如getString(int columnIndex),传入列数获得查询结果

ResultSet rs = sql.executeQuery();

六、关闭连接

rs.close();
sql.close();
conn.close();

以下完整代码以及结果截图

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


public class JdbcTest {

	public static void main(String[] args) {
		connection();
	}

	public static void connection() {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			Connection conn = DriverManager.getConnection("jdbc:oracle:thin://127.0.0.1:oracle", "andy", "123456");
			PreparedStatement sql = conn.prepareStatement("select * from student_07");
			ResultSet rs = sql.executeQuery();
			while(rs.next()){
				System.out.println(rs.getString(1)+"\t"+rs.getString(2));
			}
			rs.close();
			sql.close();
			conn.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

结果
在这里插入图片描述
基本流程就是这样了。。。过程很清晰明了,你的目的是用数据库,那么你要加载它,连接它,然后怎么用,用了有什么结果,用完后随手关闭。。。
如果实在记不住的话。。。就跟我一样,第一次看着流程来打一遍,运行成功;然后全部删掉,自己想着步骤打一遍,运行成功;再然后,删掉,再打一遍,基本来三遍左右就能记住流程(最多三个小时就能解决),然后以后别人问JDBC流程怎么用,就可以怼他了,嘿嘿嘿~~~~

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值