データベースへのJDBC接続動作データ

   JDBCとは何ですか?JDBC、どのような役割ですか?スターターは、通常、これらは好奇心生み出すために、ここで私が見つけるためにあなたと一緒にいます。
  まず、JDBCブリッジJAVAおよび読み取りおよび書き込み操作を提供するために、データベースプログラマ。JDBCは、SQL文のJava APIを実行するために使用される、あなたは複数のリレーショナルデータベースに統一アクセスを提供することができます。
  あなたは、JDBCを介してOracle、MySQLは、のSQLServerは、次のデータベースを接続することができます。アプリケーションサーバとデータベースDB間のJDBCデータの循環は、データベース・サーバ・アプリケーションの動作を実現しています。
  図JDBC実装プロセスは以下の通りである:
ここに画像を挿入説明
  以下の表は、ユーザー列子は、ユーザデータテーブルを照会与えます。まず、ユーザエンティティクラステーブルを用意します。一般VO袋にUserエンティティクラスを作成します。

    1 package com.gx.vo;
    2
    3 public class User{
    4     private String username;
    5     private String  password;
    6     private int userID;
    7     
    8     public String getUsername(){
    9        return username;
    10     }
    11    public void setUsername(String username){
    12        this.username=username;
    13      }
    14    public String getPassword(){
    15        return password;
    16      }
    17    public void setPassword(String password){
    18        this.password=password;
    19      }
    20    public int getUserid(){
    21        return userid;
    22    }
    23     public void setUserid(int userid){
    24        this.userid=userid;
    25    }
    26 }

  Entityクラスの準備ができている、あなたはまた、いくつかの構成データベースを必要とします。今のMySQLの例を接続します。MyEclipseの10の右上隅にある「右矢印」をクリックし、「MyEclipseのデータベースエクスプローラ」を選択し、左のナビゲーションで、「DBブローは」新しいデータベースドライバを作成するには、その後、「新規」、空白で右クリックし、次に10をMyEclipseが表示されます。

  连接成功如下图:
ここに画像を挿入説明
注意:
  1、选择你要连接的数据库类型,Driver name 的值可以随便起
  2、URL特别要注意根据连接不同的数据库它们各自的URL也不一样,
      Oracle的URL:jdbc:oracle:thin:@localhost:1521:orcl
      MySql的URL: jdbc:mysql://localhost:3306/test
      SqlServer的URL: jdbc.microsoft:sqlserver://localhost:1433;DatabaseName=test
      Oracle的服务端口1521;MySql的服务端口3306;SqlServer的服务端口1433
  3、User name和Password要和数据库的对应
  4、添加mysql-connector-java-5.1.22-bin的jar包
  5、点击“Test Driver”测试数据库连接是否成功,如果提示中包含successfully的说明你连接数据库成功。
  最重要的是要把sql-connector-java-5.1.22-bin的jar包,copy到我们项目的WebRoot下的WEB-INF下的lib里。
  基本的准备工作已经完成,那么接下来要做的是将在util(工具类)包写入JDBC的代码。
  要完成JDBC与数据库进行交互,需要五大步骤。

    1 package com.gx.util;
    2
    2 import java.sql.Connection;
    3 import java.sql.DriverManager;
    4 import java.util.ArrayList;
    5 import java.util.List;
    6
    7 import com.gx.vo.User;
    8  public class Jdbcutil{
    9     private static String username=”root”;
    10    private static String password=”root”;
    11    private static String url=”jdbc:mysql://localhost:3306/test”;
    12    private static String driver=”com.mysql.jdbc.Driver”;
    13    
    14    //driver的URL要与数据库的配置中的Driver classname的对应
    15    
    16    public static void selectAll(){
    17      try{
    18          User user=null;
    19          List<User> users=null;
    20          users=new ArrayList<User>();
    21          //第一步:加载驱动
    22          Class.forName(driver);
    23          //第二步:通过DriverManager获取数据库的连接Connection
    24         Conection con=DriverManager.getConnection(url,username,password);
    25         //第三步:从数据库连接Connection创建Statement或者*PreparedStatement
    26         Statement st=con.createStatement();
    27         //第四步:使用PreparedStatement或者Statement执行sql并返回结果集
    28         ResultSet rs=st.executeQuery(“select *from user”);
    29         //新增、删除、修改都是用executeUpdate; 查询用的是exeuteQuery
    30         //遍历所有的数据
    31         while(rs.next()){
    32             user=new User();
    33             user.setUserid(rs.getInt(“userid”));
    34             user.setUsername(rs.getString(“username”));
    35             user.setPassword(rs.getString(“password”));
    36             usres.add(user);
    37            }
    38         //读取集合里面的数据
    39          for(User user2 :users){
    40               System.out.println(“id”+user2.getUserid()+ “名称”+user2.getUsername()+”密码”+
    41               user2.getpassword());
    42          //第五步:关闭rs、st、con、;要特别的注意关闭的顺序要倒过来
    43              rs.close();
    44              st.close();
    45              con.close();
    46           }cath(ClassNotFoundException e){
    47              e.printStackTrace();
    48           }cath(SQLException e){
    49              e.printStackTrace();
    50           }
    51           }

执行结果如下图:
ここに画像を挿入説明
  在这里呢!我就不一一把新增、修改、删除再讲一遍,其实这些都和查询很相似,它的步骤是一样的。新增和删除时不需要vo包里User的实现类;还有需要注意的是在执行的时候新增、删除、修改都是用executeUpdate; 查询用的是exeuteQuery。那我再说说我们可能在与数据库进行连接的时候可能出现的错误。
    1、 如果在执行的过程报 “java。lang.ClassNotFoundException:con.jdbc.mysql.Driver”
这个错误的时候。
解决方法:第一,查看你有没有添加mysql-connector-java-5.1.22-bin的jar包;第二,查看你的数据库的配置和你声明的是否对应。
    2、 如果在新增执行的过程报“com.mysql.jdbc.MysqlDataTruncation:Data too long for colum ‘at’ row 1”这个错误的时候。
解决方法:说明你新增的数据超出数据库存值的长度,所以你可以修改数据库的或者修改新增的内容。因个人的需求不同而定
   3、如果在执行的过程报“com.mysql.jdbc.exceptions.jdbc.MySQLSyntaxErrorException” 这个错误的时候。
解决方法:说明你写的sql语句上有语法性错误,查看sql语句是否正确。
  到这里我们对JDBC有一定的了解了。我说说我为什么要写JDBC与数据库进行连接操作数据,虽然这是很基础的东西,但本人觉得很重要。在项目或者做一些小程序难免都会与数据库打交道,所以呢!如何连如何连接数据库都不会的,再说什么都是空谈。基础虽然很简单,但我们一定要牢牢打好基础。记住JDBC与数据库进行连接,只需要五步轻松拿下。

公開された37元の記事 ウォンの賞賛8 ビュー5958

おすすめ

転載: blog.csdn.net/weixin_43741599/article/details/90273291