Google网络工具包

时间:2011-05-24 16:40:44

标签: gwt

任何人都可以建议一个网站,我可以找到如何将jdbc添加到gwt项目以及如何从gwt项目中的数据库访问数据的分步说明?我是GWT的新手,无法找到任何可以学习的好资源。

由于

3 个答案:

答案 0 :(得分:2)

GWT是一种客户端技术 - 它创建在浏览器上运行的代码。您无法直接从浏览器与数据库通信。您需要一个中间servlet服务器。以下是您需要做的事情:

  1. 使用GWT-RPC将GWT代码与servlet服务器通信。网上有很多很好的教程。

  2. 创建使用JDBC与数据库通信的服务器端代码。 Ankit已经为您提供了一个示例链接:http://code.google.com/p/gwt-examples/wiki/project_MySQLConn

  3. 您也可以直接使用其中一个预打包的框架,它允许您“直接”从GWT与数据库交谈,其中框架提供了中间步骤(GWT-RPC到JDBC):{{3} }

答案 1 :(得分:0)

只需关注google's tutorial本身即可。 GWT是一个java框架,它在编译时将java代码转换为javascript代码。请不要混淆数据库连接和gwt应用程序。他们是完全独立的。在gwt应用程序中,您将看到客户端和服务器包。只有客户端包中的类才会被编译为javascript代码。您必须在服务器包中编写jdbc代码。这些代码不会(不能)编译成javascript。

要将数据库数据带入客户端,您必须进行rpc调用。

我希望这些信息可以帮助您获得基本的理解。

答案 2 :(得分:0)

在该代码中,您可以学习如何使用jdbc

连接gwt中的数据库
public class ExampleServiceImpl  extends RemoteServiceServlet implements ExampleService{

//private Connection con=null;
    private String status;
    private String url="jdbc:mysql://localhost:3306/test";
    private String user="test";
    private String pass = "123456";
    private  Person people;
    private ResultSet resultSet=null;
    private Statement stm=null;
    private Connection con=null;

    private Statement stm2=null;
    private Connection conn2=null;
     private ResultSet resultSet2=null;
    private MySqlConnection conn=new MySqlConnection();


@Override
public Person getPerson(String name,String surname,int password) {
    Person personinfo=new Person();
    personinfo.setName(name);
    personinfo.setSurname(surname);
    personinfo.setPassword(password);

    ResultSet resultSet=null;
    Statement stm=null;
    Connection con=null;
     MySqlConnection conn=new MySqlConnection();     
      con = conn.getConnection();
     try {
        stm = ((Connection) con).createStatement();
    } catch (SQLException e3) {
        // TODO Auto-generated catch block
        e3.printStackTrace();
    }
     String sorgu = "SELECT * FROM person";
      try {
        resultSet = stm.executeQuery(sorgu);
    } catch (SQLException e3) {
        // TODO Auto-generated catch block
        e3.printStackTrace();
    }
   while(true){
     String sql = "INSERT INTO person " +
               "VALUES ("+ password +", '" + name+ "','" + surname + "')";

     try {
        stm.executeUpdate(sql);
    } catch (SQLException e2) {
        // TODO Auto-generated catch block
        e2.printStackTrace();
    }

     try {
        ((Connection) con).setAutoCommit(false);
    } catch (SQLException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

     try {
        ((Connection) con).commit();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     try {
        stm.close();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return personinfo;
   }
}

public class MySqlConnection扩展RemoteServiceServlet {     private static final long serialVersionUID = 1L;

public static Connection con;

public static Connection getConnection()
  {
    try
    {            
      if(con==null)
      {
        Class.forName("com.mysql.jdbc.Driver");  
        String url = "jdbc:mysql://localhost:3306/mysqlconn?user=root&password=123456";
        con= DriverManager.getConnection(url);
      }
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }        
    return con;
  }

  public static void CloseConnection()
  {
    try
    {
       con.close();
       con = null;
    }
    catch (SQLException e)
    {
       e.printStackTrace();
    } 
  }
}