如何使 queryrunner 返回的类中的内部类不为 null
你在使用 queryrunner 时遇到了一个问题,即从 customer 表查询出来的 customer 类的内部类 region 为 NULL。为了解决这个问题,你可以尝试使用 mybatis association 功能。
mybatis association 允许你通过 xml 配置文件将表之间的关系映射到类中。具体步骤如下:
1. 定义 customer 和 region 类:
public class customer { private int id; private string name; private region region; } public class region { private int id; private string name; }
登录后复制
2. 创建 xml 配置文件:
<mapper namespace="customermapper"><resultmap id="customerresult" type="customer"><id property="id" column="id"></id><result property="name" column="name"></result><association property="region" column="region_id" javatype="region"></association></resultmap><select id="selectallcustomers" resultmap="customerresult"> select * from customer; </select></mapper>
登录后复制
在 xml 配置文件中,
3. 使用 mybatis 查询数据:
// 创建一个 MyBatis SessionFactory SessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(dataSource); // 打开一个 Session Session session = sessionFactory.openSession(); // 使用 MyBatis 查询数据 List<customer> customers = session.selectList("selectAllCustomers"); // 关闭 Session session.close();</customer>
登录后复制
使用 mybatis 查询后,customer 对象中的 region 属性将不再为 null,而是会包含关联的 region 对象。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容