创建数据库和表
首先,在MySQL中创建一个数据库,并且使用该数据库。然后,创建一个名为"usr"的表,并向表中插入4条数据。以下是创建表和插入数据的SQL语句:
CREATE DATABASE test;
USE test;
CREATE TABLE usr (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
email VARCHAR(50)
);
INSERT INTO usr (id, name, age, email) VALUES (1, 'John', 25, 'john@');
INSERT INTO usr (id, name, age, email) VALUES (2, 'Amy', 30, 'amy@');
INSERT INTO usr (id, name, age, email) VALUES (3, 'Tom', 28, 'tom@');
INSERT INTO usr (id, name, age, email) VALUES (4, 'Lisa', 35, 'lisa@');
创建Java工程和连接数据库
打开Eclipse,并创建一个Java工程项目。在src目录下创建util包,在util包中创建类DBConn。然后,创建entity包,在entity包中创建类Usr。最后,创建dao包,在dao包中创建类UsrDao。创建完成后的工程目录如下:
- src
- util
-
- entity
-
- dao
-
因为我们使用JDBC方式连接数据库,所以需要编写一个数据库连接的工具类。可以参考Java编写JDBC连接MySQL数据库的工具类。完整的工程目录及DBConn类的内容如下:
package util;
import ;
import ;
import java.sql.SQLException;
public class DBConn {
// 数据库连接信息
private static final String URL "jdbc:mysql://localhost:3306/test";
private static final String USERNAME "root";
private static final String PASSWORD "password";
// 获取数据库连接对象
public static Connection getConnection() throws SQLException {
return (URL, USERNAME, PASSWORD);
}
}
接下来,编写类用于表示usr表的数据结构:
package entity;
import ;
public class Usr {
private int id;
private String name;
private int age;
private String email;
public Usr(int id, String name, int age, String email) {
id;
name;
age;
email;
}
// Getter and Setter methods
// ...省略部分代码...
}
然后,编写类作为数据访问层,用于执行SQL查询语句并将结果存放到Java变量中:
package dao;
import ;
import ;
import ;
import java.sql.SQLException;
import ;
import ;
import ;
import util.DBConn;
public class UsrDao {
// 查询usr表所有数据
public List getAllUsrs() {
List usrs new ArrayList<>();
try (Connection conn ();
PreparedStatement pstmt ("SELECT * FROM usr");
ResultSet rs pstmt.executeQuery()) {
while (()) {
int id ("id");
String name ("name");
int age ("age");
String email ("email");
Usr usr new Usr(id, name, age, email);
(usr);
}
} catch (SQLException e) {
();
}
return usrs;
}
}
将查询结果存放到变量中
在UsrDao类中,我们可以看到将查询结果存放到变量中的关键代码如下:
while (()) {
int id ("id");
String name ("name");
int age ("age");
String email ("email");
Usr usr new Usr(id, name, age, email);
(usr);
}
在执行查询函数之后(ptst.executeQuery()),会返回一个ResultSet类型的结果集。然后,使用ResultSet类中的next()方法来遍历结果集。最后,使用getString()方法可以将对应变量的值取出来。需要注意的是,取出来的值是String类型的,所以如果要存放到其他类型的Java变量中,需要先进行类型转换。比如在这里,id是int类型,需要通过new Integer(("id"))的方式将String类型的值转换为int类型。
运行程序并查看结果
在的窗口上右键选择"Run As",然后选择"Java Application"运行程序。运行结果如下:
[Usr{id1, name'John', age25, email'john@'},
Usr{id2, name'Amy', age30, email'amy@'},
Usr{id3, name'Tom', age28, email'tom@'},
Usr{id4, name'Lisa', age35, email'lisa@'}]
通过JDBC将数据库的数据通过SQL语句取出来后存放到变量中,并通过控制台输出成功。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。