JFinal ActiveRecord:表关联操作

JFinal ActiveRecord 天然支持表关联操作,并不需要学习新的东西,此为无招胜有招。表 关联操作主要有两种方式:一是直接使用 sql 得到关联数据;二是在 Model 中添加获取关联数据的方法。

假定现有两张数据库表:user、blog,并且 user 到 blog 是一对多关系,blog 表中使用 user_id关联到 user 表。如下代码演示使用第一种方式得到 user_name:

public void relation() {
String sql = “select b.*, u.user_name from blog b inner join user u on b.user_id=u.id where b.id=?”;
Blog blog = Blog.dao.findFirst(sql, 123); String name = blog.getStr(“user_name”);
}

以下代码演示第二种方式在 Blog 中获取相关联的 User 以及在 User 中获取相关联的Blog:

public class Blog extends Model<Blog>{
public static final Blog dao = new Blog();
 
public
User getUser() {
return User.dao.findById(get(“user_id”));
}
}
public class User extends Model<User>{
public static final User dao = new User();
 
public
List<Blog> getBlogs() {
return Blog.dao.find(“select * from blog where user_id=?”, get(“id”));
}
}

作者:terry,如若转载,请注明出处:https://www.web176.com/jfinal/17164.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2023年4月25日
下一篇 2023年4月25日

相关推荐

发表回复

登录后才能评论