如果不使用JOOQ代码生成,可以使用JDBC来实现在Pojo中获取数据库行的功能。以下是一个示例:
首先,确保已经导入了JDBC驱动程序(如MySQL驱动程序)。
创建一个数据库连接并获取连接对象:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseUtil {
public static Connection getConnection() throws SQLException {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
return DriverManager.getConnection(url, username, password);
}
}
public class User {
private int id;
private String name;
private int age;
// 构造函数、getter和setter方法等
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class UserDao {
public List getUsers() {
List users = new ArrayList<>();
// 获取数据库连接
try (Connection conn = DatabaseUtil.getConnection()) {
// 编写SQL查询语句
String sql = "SELECT * FROM users";
// 创建PreparedStatement对象
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
// 执行查询并获取结果集
try (ResultSet rs = stmt.executeQuery()) {
// 遍历结果集并将每行数据封装为User对象
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
users.add(user);
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
}
public class Main {
public static void main(String[] args) {
UserDao userDao = new UserDao();
List users = userDao.getUsers();
for (User user : users) {
System.out.println(user);
}
}
}
上述代码示例展示了如何在不使用JOOQ代码生成的情况下,在Pojo中获取数据库行的方法。需要注意的是,这只是一个简单的示例,实际应用中可能需要更多的错误处理和异常处理。