那真是令人尴尬我已经制作了一个标准的pojo类和它的dao类用于数据检索.我很难理解如何处理Pojo类的自定义查询数据的基本过程.

假设我的用户类是

public class User{

private int userId;

private String username;

private int addressId;

}

public class Address{

private int addressId;

private String zip;

}

public class UserDAO{

public void getUserDetails(){

String getSql = select u.userId, u.username, a.zipcode from user u, address a where u.addressId = a.addressId;

//no pojo class is now specific to the resultset returned. so we can't map result to pojo object

}

}

现在我应该如何使用我的pojo类对其进行建模,就好像使用String来管理这个面向对象的概念消失一样,未来复杂性也会增加.亲切的指导!

更新进一步说明

我们知道我们可以使用相同的pojo类映射相同的表对象,但是当查询被自定义并且返回的数据没有映射到任何特定的类时,那么程序是什么?即我们应该再上一堂课?或者我们应该将这些数据放在String变量中?请举一些例子.

最佳答案 为此,您可以使用

JPA的实现之一.但是,如果您想手动执行,我会给您一个小例子.

UPD:

public class User {

private int userId;

private String username;

private Address address; // USE POJO not ID

}

public class Address{

private int addressId;

private String zip;

List users;

}

public User getUserById(Connection con, long userId) {

PreparedStatement stmt;

String query = "select u.user_id, u.user_name, a.id, a.zip from user u, address a where a.address_id = u.id and u.id = ?";

User user = new User();

Address address = new Address;

try {

stmt = con.prepareStatement(query);

stmt.setLong(1, userId);

ResultSet rs = stmt.executeQuery();

address.setId(rs.getInt("id"));

address.setZip(rs.getString("zip");

user.setId(rs.getInt("id"));

user.setUsername(rs.getString("user_name"));

user.setAddressId(rs.getInt("address_id"));

user.setAddress(address); // look here

} catch (SQLException e) {

if (con != null) {

try {

System.err.print("Transaction is being rolled back");

con.rollback();

} catch (SQLException excep) {

}

}

} finally {

if (stmt != null) {

stmt.close();

}

}

return user;

}

您不应该为该查询执行新的POJO,您应该编写正常的查询.请记住 – 您的对象模型是主要的,DB中的表只是一种保存应用程序数据的方法.

java pojo映射_java – 将ResultSet映射到Pojo对象相关推荐

  1. java dozer 深度_java – Dozer深度映射设置为Set

    免责声明: Mapping deep properties with intermediate collections in dozer已经提出了同样的问题,但没有接受答案(我的案例没有正确答案). ...

  2. java并发进程共享变量_JAVA并发编程学习:共享对象

    可见性 在一个单线程程序中,如果向一个变量先写入值,然后在没有写干涉的情况下读取这个变量,会得到相同的返回值.但是当读和写发生在不同的线程中时,就不能保证读线程及时地读取其他线程写入的值.在JAVA中 ...

  3. java面向对象数组_Java面向对象的构造器与数组对象

    Java开发离不开面相对象,那么面向对象如何来的?什么又是数组对象?今天小编就来与大家共同学习一下Java的面向对象的构造器与数组对象. 构造器:用于创建对象时执行初始化.当创建一个对象时eg:new ...

  4. java sql 排序_JAVA像SQL一样对List对象集合进行排序

    在开始之前,我先卖个关子提一个问题:假设我们有一个Movie类,这个类有三个成员变量分别是starred(是否收藏), title(电影名称), rating(评分).你知道怎么对一个Movie对象组 ...

  5. java jsp动作_Java中级—JSP九大内置对象和动作

    一.内置对象 在JSP中,内置对象又称为隐含对象,是指在不声明和创建的情况下就可以被使用的一些成员变量.JSP一共提供有9个内置对象,分别是request(响应对象).pageContext(页面上下 ...

  6. java 管道流_Java IO7:管道流、对象流

    前言 前面的文章主要讲了文件字符输入流FileWriter.文件字符输出流 FileReader.文件字节输出流FileOutputStream.文件字节输入流FileInputStream,这些都是 ...

  7. java函数调用实例_Java使用方法引用实现任意对象的实例方法

    方法引用是Java8中的一个新特性,它与Lambda表达式相关. 它允许我们在不执行构造函数或方法的情况下引用它们. 方法引用和lambda表达式相似,因为它们都需要由兼容的函数接口组成的目标类型. ...

  8. java criteria创建_Java hibernate如何创建一个Criteria对象?

    本示例向您展示如何创建HibernateCriteria类的实例.要创建一个Criteria我们调用Session对象的工厂方法并传递持久性类作为参数.要执行Criteria查询,我们只需调用list ...

  9. java返回泛型_Java泛型从泛型方法返回持有者对象

    在下面的: public interface SomeInteface { public B doSomething(A a); } 我想实现一个版本,其中方法doSomething将参数返回回来. ...

最新文章

  1. jittor和pytorch生成网络对比之sgan
  2. python基础教程:懒惰属性(延迟初始化)
  3. 使用tensorflow查询机器上是否存在可用的gpu设备
  4. limesurvey php5.2,limesurvey(配置心得)
  5. [vue] 在vue事件中传入$event,使用e.target和e.currentTarget有什么区别?
  6. 半正定问题与二阶凸锥问题(SDPSOCP)
  7. 第九章php与数据交互,利用ajax实现与php数据交互,并局部刷新页面
  8. Stanford CS230深度学习(六)目标检测、人脸识别和神经风格迁移
  9. pycharm:一直indexing,怎么解决?
  10. [直观学习排序算法] 视觉直观感受若干常用排序算法
  11. C语言实现简单计算器。
  12. R语言使用order函数对dataframe数据进行排序、基于单个字段(变量)进行升序排序(ASCENDING)
  13. 扫码枪回车键条码_条码扫描枪不自动换行怎么办,怎么设置自动回车?
  14. mysql内表和外表_内表查询用到外表
  15. 年审是当月还是当天_车辆年审时间当月到当月办理可以吗
  16. [构造]triples I
  17. web 前端的浏览器
  18. 成功_专业_社交_意识
  19. EXCEL中阿拉伯数字版转成汉语大写代码
  20. 物理|北大大佬分享物理学习经验

热门文章

  1. 秒杀场景下如何保证数据一致性?就这个问题我给出了最详细的方案
  2. 《系统思考实践篇》知识点框架总结
  3. python 彩票预测算法_Python爬虫之爬取彩票并简单统计
  4. 美国计算机科学比赛,祝贺英中学子成功晋级2020美国计算机科学联赛全明星赛(中国赛区)...
  5. linux桌面美化之把linux桌面变成苹果桌面
  6. 实现溢出隐藏 css
  7. python中随机数函数_Python随机数函数
  8. mysql xa 事务_MySQL的XA事务问题分析
  9. 西工大计算机学院李春科,陕西省“翱翔杯”立方星设计大赛决赛落下帷幕
  10. c++ unique函数