错误:无法找到或加载主类.
当我试图连接java中的Maria时,我做错了什么?我是java的新手,所以别无礼.
我是不是以错误的方式编译了这个文件?我还试着下载mysql和mariaDb驱动程序,但是仍然没有成功.我认为驱动程序不是问题,感谢所有的指导和帮助。
这是我的全部代码:
Panaderia.java
package proyecto;
import javax.swing.JFrame;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.FlowLayout;
import java.sql.*;
public class Panaderia extends JFrame implements ActionListener{
JTextArea tablas_ta;
JTextArea registros_ta;
JButton consultarTablas_btn;
JButton consultarRegistros_btn;
JTextField textField;
/*
* Método constructor
**/
public Panaderia(){
super("Ejemplo de Java + MySQL");
//Configurar la operación de salida por defecto para JFrame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(800,750);
setLayout(new FlowLayout());
consultarTablas_btn = new JButton("Consultar tablas");
consultarTablas_btn.setActionCommand("ConsultarTablas");
add(consultarTablas_btn);
tablas_ta = new JTextArea(10, 70);
add(tablas_ta);
textField = new JTextField(30);
add(textField);
consultarRegistros_btn = new JButton("Consultar registros");
consultarRegistros_btn.setActionCommand("ConsultarRegistros");
add(consultarRegistros_btn);
registros_ta = new JTextArea(10, 70);
add(registros_ta);
// Usar este objeto como Manejador de eventos
consultarTablas_btn.addActionListener(this);
consultarRegistros_btn.addActionListener(this);
textField.addActionListener(this);
this.setVisible(true);
}
public static void main(String[] args) {
Panaderia mjf = new Panaderia();
}
@Override
public void actionPerformed(ActionEvent evento) {
String db, dbuser, pass;
db = "ejemplos";//cambiar por el nombre de la base de datos que desean utilizar
dbuser = "root";
pass = "";
if(evento.getActionCommand()=="ConsultarTablas") {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+db, dbuser, pass);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SHOW TABLES");
while( rs.next() ) {
tablas_ta.append( rs.getString(1) + "\n");
}
tablas_ta.append("\n");
con.close();
} catch(Exception e) {
System.out.println(e);
}
}
if(evento.getActionCommand()=="ConsultarRegistros") {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+db, dbuser, pass);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM "+textField.getText());
String registro = "";
while( rs.next() ) {
for(int i=1;i<=rs.getMetaData().getColumnCount();i++){
registro = registro + "\t" + rs.getString(i);
}
registros_ta.append( registro +"\n");
registro = "";
}
registros_ta.append("\n");
con.close();
} catch(Exception e) {
System.out.println(e);
}
}
}
}终端显示的错误是:

你该怎么修呢?
发布于 2020-06-03 06:05:09
。


编译代码的proyecto\Panaderia.java

希望这能帮到你。
发布于 2020-06-03 05:52:55
你的代码似乎是正确的。我是在日食上跑的。唯一的问题是,您没有为数据库提供密码。我将建议您移到其中一个IDE - Eclipse或Netbeans。在命令行上编译是占用时间的,没有用。
https://stackoverflow.com/questions/62165077
复制相似问题