Java连接mysql数据库方法及代码(jdbc)
编译器使用IDEA
我的相关博客:
java代码程序中连接mysql数据库的方法及代码
mysql数据库并发上锁问题,java代码
一、使用MySQL jdbc连接器mysql-connector-java.jar。
1.首先从mysql官网下载mysql-connector-java.jar包到本地。
这里注意要和你本地的mysql数据库版本相匹配!
下载相应的压缩包,在本地解压即可进行下一步操作。
2.打开自己的java文件,在源文件夹下创建lib包,如下。
关于这里为什么要使用新建lib文件夹并导入文件,相信不久小伙伴们就能知道原因了
因为这是为了便于你将文件发于别人后,依赖的mysql-connector-java.jar不见了(如果你将其放置在libraries中的话!!),自己新建文件夹即可在打包后依然拥有此文件。
找到本地的mysql-connector-java.jar文件,复制粘贴到lib文件夹里,并点击确认。
如上图。
3.配置相关依赖,这里有两种方式!!
第一种方式:直接将lib文件夹设置为library
点击ok即可!!
第二种方式:
首先右键点击工程文件夹,弹出如下窗口,点击Open Module Settings。
进入如下界面,点击+号
弹出选项,选择Jars or Directories选项,并在弹出后现在前面导入mysql-connector-java.jar的lib文件夹,点击确认。
成功应用后,勾选该文件,点击apply应用,OK即可正常使用。
4.数据库连接代码样例如下
package sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conn { // 创建类Conn
Connection con; // 声明Connection对象
public static String user;
public static String password;
public Connection getConnection() { // 建立返回值为Connection的方法
try { // 加载数据库驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
user = "root";//数据库登录名
password = "root";//密码
try { // 通过访问数据库的URL获取数据库连接对象
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=gbk", user, password);
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
}
return con; // 按方法要求返回一个Connection对象
}
public static void main(String[] args) { // 主方法,测试连接
Conn c = new Conn(); // 创建本类对象
c.getConnection(); // 调用连接数据库的方法
}
}
若上面不便于理解,则看下面代码,更为简洁:
package Main;
import java.sql.*;
public class JDBC {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
// 1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 2.用户信息和url
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true";
String username="root";
String password="root";
// 3.连接成功,数据库对象 Connection
Connection connection = DriverManager.getConnection(url,username,password);
// 4.执行SQL对象Statement,执行SQL的对象
Statement statement = connection.createStatement();
// 5.执行SQL的对象去执行SQL,返回结果集
String sql = "SELECT *FROM studentinfo;";
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
System.out.println("SNo="+resultSet.getString("SNo"));
System.out.println("SName="+resultSet.getString("SName"));
System.out.println("Birth="+resultSet.getString("Birth"));
System.out.println("SPNo="+resultSet.getString("SPNo"));
System.out.println("Major="+resultSet.getString("Major"));
System.out.println("Grade="+resultSet.getString("Grade"));
System.out.println("SInstructor="+resultSet.getString("SInstructor"));
System.out.println("SPwd="+resultSet.getString("SPwd"));
}
// 6.释放连接
resultSet.close();
statement.close();
connection.close();
}
}
结果
代码解释:
Connection:连接对象,用于连接数据库。
官方文档有如下解释官方解释及涉及到的方法
Class.forName(“com.mysql.cj.jdbc.Driver”);为了加载jdbc的驱动。不使用该语句也能成功连接到mysql数据库。这里有一篇很好的文章对其有介绍
好奇的我在mysql-connector-java.jar中找到了这个东西!!
下面是Driver中的源码。可以从中看出,其作用就是进行注册Driver用。
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=gbk", user, password);
这里调用DriverManager.getConnection方法进行数据库连接,格式如上。
localhost:指定为本地。
3306:为数据库端口。
test1:为所需连接的数据库名。
useUnicode=true&characterEncoding=gbk:为添加编码和解码的格式要求。
useSSL:安全连接。
user和password:即是数据库用户名和密码。
完成以上操作即可成功连接数据库了。最后的主类是用于测试用的,在你的java文件中不必保留,只需要在需要进行数据库连接的文件中创建本类即可。
Talk is cheap,show me the code! —— 薪火工作室!
更多推荐
所有评论(0)