如何使排序和搜索方法与Java中的Mysql数据库交互
当我从数据库中检索数据时,我将它们保存在一个数组中,但所有数据都保存在一起,问题是数据库中有4个参数(姓名、父姓、母姓、电话) 对所有数据分别进行排序,但它不会根据其4个参数对行进行排序(即它对完整行进行排序,但会根据其名称按字母顺序排列,而不会分隔其他数据(姓氏、电话号码))。我必须使用排序方法和搜索进行排序 我的想法是,当人们输入数据时,他们会进入数据库并将所有信息返回到程序中,以便根据排序和搜索方法对其进行排序,并将其上载到数据库中,但已使用该方法进行排序。(这是我找到的最好的解决方案,因为我无法使它直接与数据库以及搜索和排序方法交互)如何使排序和搜索方法与Java中的Mysql数据库交互,java,mysql,database,sorting,methods,Java,Mysql,Database,Sorting,Methods,当我从数据库中检索数据时,我将它们保存在一个数组中,但所有数据都保存在一起,问题是数据库中有4个参数(姓名、父姓、母姓、电话) 对所有数据分别进行排序,但它不会根据其4个参数对行进行排序(即它对完整行进行排序,但会根据其名称按字母顺序排列,而不会分隔其他数据(姓氏、电话号码))。我必须使用排序方法和搜索进行排序 我的想法是,当人们输入数据时,他们会进入数据库并将所有信息返回到程序中,以便根据排序和搜索方法对其进行排序,并将其上载到数据库中,但已使用该方法进行排序。(这是我找到的最好的解决方案,因
任何建议、解决方案、批评,请相信我,我将不胜感激,谢谢你Hi@estenosodor-这就是你正在使用的数据结构-列表如何知道你拥有哪些数据?如果您现在需要从数据库中获取数据,那么您可能需要
选择名称、父姓、母姓、电话来源…
这样您就知道col 1是名称,col2是父姓,col3是母姓,等等。您还可以在数据库中进行排序。。。e、 g.按父姓、母姓、姓名、电话排序
String sDriver = "com.mysql.jdbc.Driver";
String sURL = "jdbc:mysql://www.odorxd.xyz:3306/u218933149_odor_base";
try {
Class.forName(sDriver).newInstance();
Connection con = DriverManager.getConnection(sURL, "u218933149_estenoesodor", "Tsunayoshi27?");
PreparedStatement stmt = null;
ResultSet rs = null;
stmt = con.prepareStatement("SELECT * FROM justall");
rs = stmt.executeQuery();
List<String> list = new ArrayList<>();
while (rs.next()) {
for (int x = 1; x <= rs.getMetaData().getColumnCount(); x++) {
String str = null;
str = rs.getString(x);
list.add(str);
System.out.print(str + "\t");
}
System.out.println();
}
String[] str = list.toArray(new String[0]);
String temp;
System.out.println("Strings in sorted order:");
for (int j = 0; j < str.length; j++) {
for (int i = j + 1; i < str.length; i++) {
// comparing adjacent strings
if (str[i].compareTo(str[j]) < 0) {
temp = str[j];
str[j] = str[i];
str[i] = temp;
}
}
System.out.println(str[j]);
}
} catch (SQLException sqle) {
sqle.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
run:
Strings in sorted order:
7773356484
7773452788
7775190298
Albarran
Albarran
Brandon
Castañeda
Daniel
Flores
Flores
Julio
Tabares
BUILD SUCCESSFUL (total time: 1 second)