使用 Navicat 创建数据库并用JDBC连接的操作方法
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>一、navicat 创建数据库</li><li>
二、jdbc 连接java代码</li></ul></div><p>
昨天学习 java 的数据库部分,就试着写了一下 jdbc 连接的代码,并尝试与数据库进行连接。中间也是遇到了一些问题,解决之后,在这里分享一下,也算做个记录。(有写的不对的地方,欢迎留言)</p>
<p class="maodian"></p><h2>
一、navicat 创建数据库</h2>
<p>
1.首先装这个数据库可视化的软件:navicat for mysql</p>
<p>
(就是下面这个啦)这个就不多说了,需要的自己百度教程;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/1216f887437b116e7aed9c4040abc855.jpg"></p>
<p>
2. 建立连接</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/3fd6322886e40f209712f746b93c8d49.jpg"></p>
<p>
输入连接名称,用户名、密码,然后 ok 就可以创建新的连接了。</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/0bb6254faa89016e8c475234061a1594.jpg"></p>
<p>
这样新的连接就建立好了</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/2efdb9922672b897dfe695f74e6dc493.jpg"></p>
<p>
3. 创建数据库</p>
<p>
右键 刚创建的 test 连接,然后 new database,创建数据库,就是下面的界面;<br>
输入数据库名称,选择编码格式,ok;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/ccaaf1cae160031f2a0ad7d321fc5fab.jpg"></p>
<p>
点击 test ,会发现里面已经有刚才创建的数据库 databasetest,数据库创建成功;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/02beee3a097f3e74392a462414050d65.jpg"></p>
<p>
4. 创建数据库表</p>
<p>
点击 databasetest 后,右键 table,选择 new table,新建表;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/a2db7b147bcc4ba4b7613b77fec3ce5d.jpg"></p>
<p>
新建表的界面如下,输入表头内容,以及数据类型,设置主键 等等;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/86f05cbb2fef27a714a3ff08d4c30c76.jpg"></p>
<p>
保存表,输入表名;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/aa9cae7f6efbc607f59c30cf593e0569.jpg"></p>
<p>
保存的时候发现,主键那块设置可以为 null 了,就会提示错误,改一下再保存;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/658037e4a6ee22d8f40cdd3ef2e6e02c.jpg"></p>
<p>
创建表完成,发现 table 下多了一张新的表;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/e4079d1ade80c801567c5d324cd59079.jpg"></p>
<p>
5. 给表中添加内容</p>
<p>
自己添加数据库表的内容即可;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/522961b681fecbe35a6cc1a08c296cd4.jpg"></p>
<p>
这样就好了,在 navicat 里的简单操作就是这些了。<br>
下面讲一下在 java 代码里的操作。</p>
<p class="maodian"></p><h2>
二、jdbc 连接java代码</h2>
<p>
1. java 代码</p>
<p>
这里先把代码贴上,有一些我遇到的问题,在后面叙述;</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterjava" id="highlighter_389930">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="java keyword">public</code> <code class="java keyword">class</code> <code class="java plain">connmysql {</code>
</div>
<div class="line number2 index1 alt1">
<code class="java spaces"> </code><code class="java keyword">public</code> <code class="java keyword">static</code> <code class="java keyword">void</code> <code class="java plain">main(string[] args) </code><code class="java keyword">throws</code> <code class="java plain">exception {</code>
</div>
<div class="line number3 index2 alt2">
<code class="java spaces"> </code><code class="java comments">//加载驱动</code>
</div>
<div class="line number4 index3 alt1">
<code class="java spaces"> </code><code class="java keyword">class</code><code class="java plain">.forname(</code><code class="java string">"com.mysql.cj.jdbc.driver"</code><code class="java plain">);</code>
</div>
<div class="line number5 index4 alt2">
<code class="java spaces"> </code><code class="java plain">string url = </code><code class="java string">"jdbc:mysql://localhost:3306/databasetest?useunicode=true&usejdbccomplianttimezoneshift=true&uselegacydatetimecode=false&servertimezone=utc"</code><code class="java plain">;</code>
</div>
<div class="line number6 index5 alt1">
<code class="java spaces"> </code><code class="java plain">string user = </code><code class="java string">"root"</code><code class="java plain">;</code>
</div>
<div class="line number7 index6 alt2">
<code class="java spaces"> </code><code class="java plain">string password = </code><code class="java string">"root"</code><code class="java plain">;</code>
</div>
<div class="line number8 index7 alt1">
<code class="java spaces"> </code><code class="java keyword">try</code><code class="java plain">(</code>
</div>
<div class="line number9 index8 alt2">
<code class="java spaces"> </code><code class="java comments">//用 drivermanager 获取数据库连接</code>
</div>
<div class="line number10 index9 alt1">
<code class="java spaces"> </code><code class="java comments">//返回的 connection 就代表了 java 程序和数据库的连接</code>
</div>
<div class="line number11 index10 alt2">
<code class="java spaces"> </code><code class="java plain">connection conn = drivermanager.getconnection(url, user, password);</code>
</div>
<div class="line number12 index11 alt1">
</div>
<div class="line number13 index12 alt2">
<code class="java spaces"> </code><code class="java comments">//使用 connection 来创建一个 statement 对象</code>
</div>
<div class="line number14 index13 alt1">
<code class="java spaces"> </code><code class="java plain">statement stmt = conn.createstatement();</code>
</div>
<div class="line number15 index14 alt2">
</div>
<div class="line number16 index15 alt1">
<code class="java spaces"> </code><code class="java comments">//执行 sql 语句</code>
</div>
<div class="line number17 index16 alt2">
<code class="java spaces"> </code><code class="java plain">resultset rs = stmt.executequery(</code><code class="java string">"select * from student"</code><code class="java plain">))</code>
</div>
<div class="line number18 index17 alt1">
<code class="java spaces"> </code><code class="java plain">{</code>
</div>
<div class="line number19 index18 alt2">
<code class="java spaces"> </code><code class="java keyword">while</code> <code class="java plain">(rs.next()){</code>
</div>
<div class="line number20 index19 alt1">
<code class="java spaces"> </code><code class="java plain">string number = rs.getstring(</code><code class="java string">"number"</code><code class="java plain">);</code>
</div>
<div class="line number21 index20 alt2">
<code class="java spaces"> </code><code class="java plain">string name = rs.getstring(</code><code class="java string">"name"</code><code class="java plain">);</code>
</div>
<div class="line number22 index21 alt1">
<code class="java spaces"> </code><code class="java keyword">int</code> <code class="java plain">age = rs.getint(</code><code class="java string">"age"</code><code class="java plain">);</code>
</div>
<div class="line number23 index22 alt2">
<code class="java spaces"> </code><code class="java plain">system.out.println(number + </code><code class="java string">"---"</code> <code class="java plain">+ name + </code><code class="java string">"---"</code> <code class="java plain">+ age);</code>
</div>
<div class="line number24 index23 alt1">
<code class="java spaces"> </code><code class="java plain">}</code>
</div>
<div class="line number25 index24 alt2">
<code class="java spaces"> </code><code class="java plain">}</code>
</div>
<div class="line number26 index25 alt1">
<code class="java spaces"> </code><code class="java plain">}</code>
</div>
<div class="line number27 index26 alt2">
<code class="java plain">}</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
2. 报错:exception in thread “main” java.lang.classnotfoundexception: com.mysql.jdbc.</p>
<p>
查了原因之后发现,是因为少了一个包:mysql-connector-java-x.x.x-bin.jar;(注意:看自己的 mysql 版本,选择合适的安装包)<br>
这里放一个链接,是 8.0.15 的,如果需要的话可以下载;</p>
<blockquote>
<p>
链接: https://pan.baidu.com/s/1czipndzn5xutggq-m05w1q</p>
<p>
提取码: kdev</p>
</blockquote>
<p>
下载这个包解压之后,进行如下安装:</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/9c0b1b2c9230396c29a7e4d30c49f82b.jpg"></p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/542bd0172134d75deadbdf5c0a278fc3.jpg"></p>
<p>
这样问题就解决了</p>
<p>
3. 报错:exception in thread “main” 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.</p>
<p>
没错,就是这么长的错,嗯。。。虽然不知道具体什么原因,但查了之后,解决方法如下 :</p>
<p>
之前看到的很多 url 都是这么写的:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterjava" id="highlighter_266096">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="java plain">string url = </code><code class="java string">"jdbc:mysql://localhost:3306/databasetest"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
现在改一下,改成这样:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterjava" id="highlighter_883779">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="java plain">string url = </code><code class="java string">"jdbc:mysql://localhost:3306/databasetest?useunicode=true&usejdbccomplianttimezoneshift=true&uselegacydatetimecode=false&servertimezone=utc"</code><code class="java plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
问题就解决了;</p>
<p>
<img title="使用 Navicat 创建数据库并用JDBC连接的操作方法" alt="使用 Navicat 创建数据库并用JDBC连接的操作方法" src="https://zhuji.jb51.net/uploads/img/202305/1f0b6f7831a7236ce7d24d87f6dadd16.jpg"></p>
<p>
可以正常的输出数据库表里的内容;</p>
<p>
到此这篇关于使用 navicat 创建数据库并用jdbc连接的操作方法的文章就介绍到这了,更多相关 navicat 创建数据库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!</p>
<p>
原文链接:https://blog.csdn.net/pary__for/article/details/109686132</p>
頁:
[1]