任何人都可以建议一个网站,我可以找到如何将jdbc添加到gwt项目以及如何从gwt项目中的数据库访问数据的分步说明?我是GWT的新手,无法找到任何可以学习的好资源。
由于
答案 0 :(得分:2)
GWT是一种客户端技术 - 它创建在浏览器上运行的代码。您无法直接从浏览器与数据库通信。您需要一个中间servlet服务器。以下是您需要做的事情:
使用GWT-RPC将GWT代码与servlet服务器通信。网上有很多很好的教程。
创建使用JDBC与数据库通信的服务器端代码。 Ankit已经为您提供了一个示例链接:http://code.google.com/p/gwt-examples/wiki/project_MySQLConn
您也可以直接使用其中一个预打包的框架,它允许您“直接”从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();
}
}
}