当前位置:Gxlcms > 数据库问题 > JDBC浅应用

JDBC浅应用

时间:2021-07-01 10:21:17 帮助过:27人阅读

DriverManager: 此类管理数据库驱动程序列表。使用通信协议将来自java应用程序的连接请求与适 2 当的数据库驱动程序匹配。 3 4 Driver:此接口处理与数据库服务器的通信,我们很少会直接与Driver对象进行交互。而是使用 5 DriverManager对象来管理这种类型的对象。 6 7 Connection:该接口具有用于连接数据库的所有方法。连接对象表示通信上下文,数据库的所有通信 8 仅通过连接对象。 9 10 Statement:使用从此接口创建的对象将SQL语句提交到数据库。用于对数据库进行通用访问。在运行时使用静态SQL语句时很有用。Statement接口不能接受参数。 11 12 PreparedStatement 多次使用SQL语句时使用。PreparedStatement接口在运行时接 13 受输入参数。 14 15 ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭 16 代器,允许我们移动其数据。 17 18 SQLException:此类处理数据库应用程序中发生的任何异常。

使用jdbc,注册用户信息;并且打印成功还是失败到控制台:

  刚开始的user_info表

技术图片

 

 

  1. <span style="color: #008080;"> 1</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {
  2. </span><span style="color: #008080;"> 2</span>
  3. <span style="color: #008080;"> 3</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 注册用户 往外面uesr-info表里面插入一条记录</span>
  4. <span style="color: #008080;"> 4</span>
  5. <span style="color: #008080;"> 5</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">请输入用户名</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  6. </span><span style="color: #008080;"> 6</span> Scanner scan = <span style="color: #0000ff;">new</span> Scanner(System.<span style="color: #0000ff;">in</span><span style="color: #000000;">);
  7. </span><span style="color: #008080;"> 7</span> String name =<span style="color: #000000;"> scan.next();
  8. </span><span style="color: #008080;"> 8</span>
  9. <span style="color: #008080;"> 9</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">请输入密码</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  10. </span><span style="color: #008080;">10</span> String pass =<span style="color: #000000;"> scan.next();
  11. </span><span style="color: #008080;">11</span>
  12. <span style="color: #008080;">12</span> StringBuilder ss = <span style="color: #0000ff;">new</span><span style="color: #000000;"> StringBuilder();
  13. </span><span style="color: #008080;">13</span> ss.append(<span style="color: #800000;">"</span><span style="color: #800000;">insert into user_info(uname,upass)values(‘</span><span style="color: #800000;">"</span>).append(name).append(<span style="color: #800000;">"</span><span style="color: #800000;"> ‘, </span><span style="color: #800000;">"</span>).append(pass).append(<span style="color: #800000;">"</span><span style="color: #800000;"> )</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  14. </span><span style="color: #008080;">14</span>
  15. <span style="color: #008080;">15</span> System.<span style="color: #0000ff;">out</span><span style="color: #000000;">.println(ss.toString());
  16. </span><span style="color: #008080;">16</span>
  17. <span style="color: #008080;">17</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 注册</span>
  18. <span style="color: #008080;">18</span> <span style="color: #0000ff;">try</span><span style="color: #000000;"> {
  19. </span><span style="color: #008080;">19</span> Class.forName(<span style="color: #800000;">"</span><span style="color: #800000;">com.mysql.jdbc.Driver</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  20. </span><span style="color: #008080;">20</span>
  21. <span style="color: #008080;">21</span> Connection connection =<span style="color: #000000;"> DriverManager.getConnection(url, user, password);
  22. </span><span style="color: #008080;">22</span> Statement statement =<span style="color: #000000;"> connection.createStatement();
  23. </span><span style="color: #008080;">23</span> <span style="color: #0000ff;">int</span> result =<span style="color: #000000;"> statement.executeUpdate(ss.toString());
  24. </span><span style="color: #008080;">24</span>
  25. <span style="color: #008080;">25</span> <span style="color: #0000ff;">if</span> (result > <span style="color: #800080;">0</span><span style="color: #000000;">) {
  26. </span><span style="color: #008080;">26</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">注册成功</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  27. </span><span style="color: #008080;">27</span> } <span style="color: #0000ff;">else</span><span style="color: #000000;"> {
  28. </span><span style="color: #008080;">28</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">注册失败</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  29. </span><span style="color: #008080;">29</span> <span style="color: #000000;"> }
  30. </span><span style="color: #008080;">30</span> <span style="color: #000000;"> statement.close();
  31. </span><span style="color: #008080;">31</span> <span style="color: #000000;"> connection.close();
  32. </span><span style="color: #008080;">32</span>
  33. <span style="color: #008080;">33</span> } <span style="color: #0000ff;">catch</span><span style="color: #000000;"> (Exception e) {
  34. </span><span style="color: #008080;">34</span> <span style="color: #008000;">//</span><span style="color: #008000;"> TODO Auto-generated catch block</span>
  35. <span style="color: #008080;">35</span> <span style="color: #000000;"> e.printStackTrace();
  36. </span><span style="color: #008080;">36</span> <span style="color: #000000;"> }
  37. </span><span style="color: #008080;">37</span>
  38. <span style="color: #008080;">38</span> }

结果:

技术图片技术图片

 

 

 使用jdbc根据用户id修改用户名称:

  1. <span style="color: #008080;"> 1</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {
  2. </span><span style="color: #008080;"> 2</span>
  3. <span style="color: #008080;"> 3</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 根据用户id修改用户名称</span>
  4. <span style="color: #008080;"> 4</span>
  5. <span style="color: #008080;"> 5</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">请输入你要修改的用户id</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  6. </span><span style="color: #008080;"> 6</span> Scanner scan = <span style="color: #0000ff;">new</span> Scanner(System.<span style="color: #0000ff;">in</span><span style="color: #000000;">);
  7. </span><span style="color: #008080;"> 7</span> String id =<span style="color: #000000;"> scan.next();
  8. </span><span style="color: #008080;"> 8</span>
  9. <span style="color: #008080;"> 9</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">请输入你要修改的用户名</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  10. </span><span style="color: #008080;">10</span> String name =<span style="color: #000000;"> scan.next();
  11. </span><span style="color: #008080;">11</span>
  12. <span style="color: #008080;">12</span> <span style="color: #008000;">//</span><span style="color: #008000;"> ? 占位符</span>
  13. <span style="color: #008080;">13</span> String sql = <span style="color: #800000;">"</span><span style="color: #800000;">update user_info set uname=? where uid=?</span><span style="color: #800000;">"</span><span style="color: #000000;">;
  14. </span><span style="color: #008080;">14</span>
  15. <span style="color: #008080;">15</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 预处理SQL语句,这个操作数据库的对象,比较智能
  16. </span><span style="color: #008080;">16</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 会根据我们的参数,自己来给SQL进行预处理</span>
  17. <span style="color: #008080;">17</span>
  18. <span style="color: #008080;">18</span> <span style="color: #0000ff;">try</span><span style="color: #000000;"> {
  19. </span><span style="color: #008080;">19</span> Class.forName(<span style="color: #800000;">"</span><span style="color: #800000;">com.mysql.jdbc.Driver</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  20. </span><span style="color: #008080;">20</span>
  21. <span style="color: #008080;">21</span> Connection connection =<span style="color: #000000;"> DriverManager.getConnection(url, user, password);
  22. </span><span style="color: #008080;">22</span>
  23. <span style="color: #008080;">23</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 获取一个操作数据库的对象;获取一个预处理的对象
  24. </span><span style="color: #008080;">24</span> <span style="color: #008000;">//</span><span style="color: #008000;"> statement 只能执行静态的sql
  25. </span><span style="color: #008080;">25</span> <span style="color: #008000;">//</span><span style="color: #008000;"> PreparedStatement 自己放参数,自己调用</span>
  26. <span style="color: #008080;">26</span> PreparedStatement ps =<span style="color: #000000;"> connection.prepareStatement(sql);
  27. </span><span style="color: #008080;">27</span>
  28. <span style="color: #008080;">28</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 给SQL语句里面的占位符进行赋值</span>
  29. <span style="color: #008080;">29</span> ps.setString(<span style="color: #800080;">1</span>, name);<span style="color: #008000;">//</span><span style="color: #008000;"> 给SQL第一个问号赋值</span>
  30. <span style="color: #008080;">30</span> ps.setInt(<span style="color: #800080;">2</span>, Integer.parseInt(id));<span style="color: #008000;">//</span><span style="color: #008000;"> 给第二个赋值
  31. </span><span style="color: #008080;">31</span>
  32. <span style="color: #008080;">32</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 执行SQL</span>
  33. <span style="color: #008080;">33</span> <span style="color: #0000ff;">int</span> ex = ps.executeUpdate();<span style="color: #008000;">//</span><span style="color: #008000;"> 不要加SQL</span>
  34. <span style="color: #008080;">34</span> <span style="color: #0000ff;">if</span> (ex > <span style="color: #800080;">0</span><span style="color: #000000;">) {
  35. </span><span style="color: #008080;">35</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">修改成功</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  36. </span><span style="color: #008080;">36</span> } <span style="color: #0000ff;">else</span><span style="color: #000000;"> {
  37. </span><span style="color: #008080;">37</span> System.<span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">修改失败</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  38. </span><span style="color: #008080;">38</span> <span style="color: #000000;"> }
  39. </span><span style="color: #008080;">39</span>
  40. <span style="color: #008080;">40</span> <span style="color: #000000;"> ps.close();
  41. </span><span style="color: #008080;">41</span> <span style="color: #000000;"> connection.close();
  42. </span><span style="color: #008080;">42</span>
  43. <span style="color: #008080;">43</span> } <span style="color: #0000ff;">catch</span><span style="color: #000000;"> (Exception e) {
  44. </span><span style="color: #008080;">44</span> <span style="color: #008000;">//</span><span style="color: #008000;"> TODO Auto-generated catch block</span>
  45. <span style="color: #008080;">45</span> <span style="color: #000000;"> e.printStackTrace();
  46. </span><span style="color: #008080;">46</span> <span style="color: #000000;"> }
  47. </span><span style="color: #008080;">47</span>
  48. <span style="color: #008080;">48</span> }

结果:

技术图片

 

 技术图片

 

JDBC浅应用

标签:nec   数据库驱动   generated   开始   main   stat   mamicode   public   获取   

人气教程排行