前言

由于总是出错,记录一下连接MySQL数据库的过程。

连接过程

1.下载MySQL并安装,这里的版本是8.0.18

2.下载MySQL的jdbc,下载后解压,个人将其保存在MySQL目录下,方便查找



3.连接数据库

(1)eclipse中选择Window-preferences-java-BuildPath-UserLibraries

(2)点击右侧的new按钮,

(3)在这里输入jdbc,选中对勾,点击ok

(4)回到上一级界面,点击AddExternalJARs,打开到你的jdbc存放的目录,打开-ok。

(5)接下来是在项目中导入jar包,项目右键-BuildPath-ConfigureBuildPath

(6)点击右侧AddLibrary…-UserLibrary-Next。打上对勾点击finish

(7)回到上一级界面就可以看到你添加的jdbc,点击Apply再点击ok。

(8)这样在你的项目下就可以看到你导入的jdbc了

4.在项目中Javaresources下创建一个新的包linkMysql,里面新建一个类Demo

代码如下:

packagelinkMysql; importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.PreparedStatement; importjava.sql.ResultSet; importjava.sql.ResultSetMetaData; importjava.sql.SQLException; importjava.util.ArrayList; importjava.util.HashMap; importjava.util.List; importjava.util.Map; publicclassDemo{ //加载数据库驱动com.mysql.jdbc.Driver privatestaticStringdbdriver="com.mysql.cj.jdbc.Driver";//因为MySQL是8.0版本,所以需要加上cj,如果是5.0版本就不用 //获取mysql连接地址 privatestaticStringdburl="jdbc:mysql://127.0.0.1:3306/cmxDatabaseName?&useSSL=false&serverTimezone=UTC"; //这里的&serverTimezone=UTC很重要,之前就是因为这个出错 //数据名称 privatestaticStringusername="root"; //数据库密码 privatestaticStringuserpassword="123456"; //获取一个数据的连接 publicstaticConnectionconn=null; //获取连接的一个状态 //下面是一个例子,其中database1是数据库名,后面是一条查询语句 publicstaticvoidmain(String[]args)throwsSQLException{ List<List<Object>>x=getData("database1", "select*fromstudents"); System.out.println(x); } /** *获取数据库连接 * *@parammyProjName *@return */ privatestaticConnectiongetConn(StringmyProjName){ Connectionconn=null; try{ Class.forName(dbdriver); StringmyjdbcUrl=dburl.replace("cmxDatabaseName",myProjName); conn=DriverManager.getConnection(myjdbcUrl,username,userpassword); }catch(ClassNotFoundExceptione){ e.printStackTrace(); }catch(SQLExceptione){ e.printStackTrace(); } returnconn; } /** *关闭数据库连接 * *@paramrs *@paramps *@paramconn */ privatestaticvoidcloseAll(ResultSetrs,PreparedStatementps, Connectionconn){ if(rs!=null){ try{ rs.close(); }catch(SQLExceptione){ e.printStackTrace(); } } if(ps!=null){ try{ ps.close(); }catch(SQLExceptione){ e.printStackTrace(); } } if(conn==null) return; try{ conn.close(); }catch(SQLExceptione){ e.printStackTrace(); } } /** *查表,返回行的列表,每个列表中包含列的列表。 * *@paramProjName *@paramsql *@return */ publicstaticList<List<Object>>getData(StringProjName,Stringsql){ Connectionconn=getConn(ProjName); PreparedStatementps=null; List<List<Object>>list=newArrayList<List<Object>>(); ResultSetrs=null; try{ ps=conn.prepareStatement(sql); rs=ps.executeQuery(); ResultSetMetaDatamd=rs.getMetaData(); intcolumnCount=md.getColumnCount(); while(rs.next()){ List<Object>lst=newArrayList<Object>(); for(inti=1;i<=columnCount;++i){ lst.add(rs.getObject(i)==null?"":rs.getObject(i)); } list.add(lst); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ closeAll(rs,ps,conn); } returnlist; } }

点赞(0) 打赏

Comment list 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部