JDBC是Java连接数据库的一种接口,它由各个数据库厂商为开发者提供的接口,要使用它需要到相应厂商下载对应的jar包,这篇文章为大家总结了jdbc的mysql数据库的连接方式,由于是第一次写的文章,可能会有些潦草,忘各位见谅呀!!
这一步是最开始的一步,也是最基础的一部,jar包的下载需要对应相应的mysql版本,就是说,你的mysql是哪个版本,就下载哪个版本的jar包,不然会报错!!
JDBC 下载地址
若mysql是最新版本,在General Availability (GA)Releases,在下拉菜单选择Platform Independent,即“独立于平台”
点击No thanks,just start my download.
选择如下选项,点击Download开始下载
若mysql不是最新版本的,选择Archives
选择对应版本号,并选择Platform Independent
点击No thanks,just start my download.
下载zip包,点击Download开始下载即可
解压压缩包,在压缩包中找到该jar包,ctrl+c复制这个jar包
右键src,在src中创建一个包,取名lib,一般需要用的包我们都把它放进该包中,然后ctrl+v粘贴进IDEA,点击ok即可
选中该jar,右键,选择Add as Library…
点击下拉菜单,选择Module Library,点击ok
这一步是将该jar作为该项目的包
完成后如下图所示就是成功导入了
有两种抛出方式,第一种为直接抛出,这种没有什么异常的话可以直接执行
//使用throws Exception
//如:
public static void main(String[] args) throws Exception
第二种可以处理异常,有异常不会导致java虚拟机关闭
//2.可以使用try{}catch{}
//如
try {
/*这里放置执行的代码*/
}catch (){
/*这里放释放的代码*/
}
加载驱动的基本语法为
Class.forName("");
mysql5.0的版本和8.0的版本加载驱动的语法变了
5.0后的版本语法为
Class.forName("com.mysql.jdbc.Driver");
8.0版本后的语法为
Class.forName("com.mysql.cj.jdbc.Driver");
注意:mysql 5.0版本后可以忽略该语句,就是说可以不用添加该语句,也能执行,可以不添加。
连接的基本语法,这里是基本语法后面会详细说明
String url="";
/*连接数据库的账号,user账号的格式,如未经特殊修改可以为root,如果修改,改成哪个即为哪个*/
String user="root";
/*连接数据库的密码,密码的话设置啥密码就是啥咯*/
String password="123456";
//执行sql对象
Connection conn = DriverManager.getConnection(url, user, password);
url格式说明,连接本机的IP地址与端口号可以不写,后面的需求不需要可不用写
jdbc:mysql://[IP地址:端口号]/数据库名?[需求1]&[需求2]
连接本机的url的最简格式【新手推荐】,其中db1为数据库名
String url="jdbc:mysql:///db1";
mysql查询用户名的语法为
select *from mysql. user
基本的语法如下所示,sql语法写里面
//基本语法【易报错点,注意检查】
String sql="[sql语法]";
有三种方式创建操作对象
1)普通执行sql对象
Statement stmt = conn.createStatement();
2)预编译sql的执行sql对象,防止sql注入,推荐!!!!
当使用该语句时sql语法的关键字需要为"“,如select * from std where id= ,”"为占位符
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.set【需要添加的数据类型】(1[第一个占位符],1[值]);即给第一个占位符赋值,例如pstmt.setInt(1,1);意思为输入为int类型的值,为第一个?赋值为1。
3)执行存储过程的对象
CallableStatement cstmt=conn.prepareCall(sql);
ResultSet rs=stmt.executeQuery();
哪个最后创建,先释放哪个
rs.close();
patmt.close();
conn.close();
可以做个参考
public static void main(String[] args) {
//1下载和在工程中配置mysql驱动
Connection conn=null;
PreparedStatement stmt=null;
ResultSet rs=null;
try {
//2.加载驱动,mysql5之后可不用该语句
Class.forName("com.mysql.cj.jdbc.Driver");
//3.创建连接mysql的url,该语句不用更改;url连接本机可用String url="jdbc:mysql:///db1";
String url="jdbc:mysql://127.0.0.1:3306/db1?serverTimezone=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true";
//连接数据库的账号
String user="root";
//连接数据库的密码
String password="137980";
//4.连接数据库java.sql.Connection
conn= DriverManager.getConnection(url,user,password);
//5.测试连接是否成功
//System.out.println(conn);
//6.创建sql
String sql="select * from std where id=?";
//7.创建操作的对象
stmt = conn.prepareStatement(sql);
stmt.setInt(1,1);//设置第一个占位符为1 即id=1
rs=stmt.executeQuery();
while (rs.next()){
System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getString(3));
}
}catch (ClassNotFoundException| SQLException e){
e.printStackTrace();
}finally {
if(rs!=null){
try {
rs.close();
}catch (SQLException throwables){
throwables.printStackTrace();
}
}
if (stmt!=null){
try {
stmt.close();
}catch (SQLException throwables){
throwables.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();
}catch (SQLException throwables){
throwables.printStackTrace();
}
}
}
}
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。