Java Android JDBC:在Eclipse中使用MySql JDBC的一些问题
我在Windows中使用Eclipse,我想连接到MySql数据库。 我知道我应该使用JDBC。但我不知道如何使用它 我已经从下载了msi和zip文件 在zip文件中,存在一个同名文件:mysql-connector-java-5.1.30-bin.jar 我该怎么处理这个? 我的意思是复制/导入(在文件夹或eclipse中)此文件的位置 请注意,我有以下代码:Java Android JDBC:在Eclipse中使用MySql JDBC的一些问题,java,mysql,eclipse,jdbc,Java,Mysql,Eclipse,Jdbc,我在Windows中使用Eclipse,我想连接到MySql数据库。 我知道我应该使用JDBC。但我不知道如何使用它 我已经从下载了msi和zip文件 在zip文件中,存在一个同名文件:mysql-connector-java-5.1.30-bin.jar 我该怎么处理这个? 我的意思是复制/导入(在文件夹或eclipse中)此文件的位置 请注意,我有以下代码: import android.os.Bundle; import android.app.Activity; import java.
import android.os.Bundle;
import android.app.Activity;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import android.os.AsyncTask;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class LearningActivity extends Activity {
private static final String url = "jdbc:mysql://cool/app";
private static final String user = "user";
private static final String pass = "password";
private Button button;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)this.findViewById(R.id.button1);
tv = (TextView)this.findViewById(R.id.textView1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Connect();
}
});
}
public void Connect() {
Connect task = new Connect();
task.execute();
}
private class Connect extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, pass);
String result = "Database connection success\n";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from users");
ResultSetMetaData rsmd = rs.getMetaData();
while(rs.next()) {
result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
}
tv.setText(result);
}
catch(Exception e) {
e.printStackTrace();
tv.setText(e.toString());
}
return response;
}
@Override
protected void onPostExecute(String result) {
tv.setText(result);
}
}
}
导入android.os.Bundle;
导入android.app.Activity;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.ResultSetMetaData;
导入java.sql.Statement;
导入android.os.AsyncTask;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TextView;
公共类LearningActivity扩展了活动{
私有静态最终字符串url=“jdbc:mysql://cool/app";
私有静态最终字符串user=“user”;
私有静态最终字符串pass=“password”;
私人按钮;
私家图文电视;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
按钮=(按钮)this.findViewById(R.id.button1);
tv=(TextView)this.findViewById(R.id.textView1);
setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//单击后执行操作
Connect();
}
});
}
公共void Connect(){
连接任务=新建连接();
task.execute();
}
私有类连接扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…URL){
字符串响应=”;
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(url、用户、通行证);
String result=“数据库连接成功\n”;
语句st=con.createStatement();
结果集rs=st.executeQuery(“从用户中选择*);
ResultSetMetaData rsmd=rs.getMetaData();
while(rs.next()){
结果+=rsmd.getColumnName(1)+“:“+rs.getInt(1)+”\n”;
结果+=rsmd.getColumnName(2)+“:“+rs.getString(2)+”\n”;
结果+=rsmd.getColumnName(3)+“:“+rs.getString(3)+”\n”;
}
tv.setText(结果);
}
捕获(例外e){
e、 printStackTrace();
tv.setText(例如toString());
}
返回响应;
}
@凌驾
受保护的void onPostExecute(字符串结果){
tv.setText(结果);
}
}
}
但是我得到了这个错误:ClassNotFoundException:com.mysql.jdbc.Driver我把它们放在eclipse项目的lib目录中,然后将jar添加到我的构建路径。与@Ali的脱机讨论显示,他使用的是旧版本的ADT,该ADT没有创建
libs
文件夹,如页面上的文件夹层次结构所示
手动创建此文件夹为他解决了问题
注意:文件夹名称为libs,末尾带有“s”。很容易忽略这一点,而是创建
lib
。您使用像maven/ant这样的系统来编译还是这是一个独立的项目?@DeepakBala:不,这是一个独立的项目。我用AVD运行它,AVD?这是一个android项目?您是否在android项目中看到名为libs
的文件夹?你把罐子放在那里了吗?是的,兄弟。这是一个android应用程序。:)让我检查它是否存在…不。没有像libs这样的文件夹。只有这些文件夹存在:src、gen、res和assetsI通过Spring进行JDBC连接,因此,我无法进一步帮助您。问题解决了,我的朋友。:)我添加一个文件夹libs并将jar文件复制到其中,然后将其添加到JavaBuildPath。