编译器使用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.数据库连接代码样例如下
packagesql;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassConn{// 创建类ConnConnection con;// 声明Connection对象publicstaticString user;publicstaticString password;publicConnectiongetConnection(){// 建立返回值为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对象}publicstaticvoidmain(String[] args){// 主方法,测试连接Conn c =newConn();// 创建本类对象
c.getConnection();// 调用连接数据库的方法}}
若上面不便于理解,则看下面代码,更为简洁:
packageMain;importjava.sql.*;publicclass JDBC {publicstaticvoidmain(String[] args)throwsSQLException,ClassNotFoundException{// 1.加载驱动Class.forName("com.mysql.cj.jdbc.Driver");// 2.用户信息和urlString url ="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true";String username="root";String password="root";// 3.连接成功,数据库对象 ConnectionConnection 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! —— 薪火工作室!
版权归原作者 先养只猫 所有, 如有侵权,请联系我们删除。