概述
---------------主表Account所对应的dao文件--------------------
package com.sealong.dao;
import com.sealong.domain.Account;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.mapping.FetchType;
import java.util.List;
public interface IAccountDao {
/**
* 查询所有用户
* @return
*/
@Select("select * from account")
/**
* 定义一个Results
* id为该Results的名字,可以供其他方法调用
* value为一个包含Result对象的数组
* Result的column表示数据表的字段名,
* property为数据表当前column字段所映射的对象的属性
* id表示该column该字段是否为主键,默认条件下为非主键
* one用于表与表之间一对一映射时使用
* one的select属性,一对一查询所要执行的方法名
* fetchType表示数据加载形式(FetchType.EAGER表示立即加载,FetchType.LAZY表示懒加载
*/
@Results(id = "accountMap" ,value = {
@Result(id = true,column = "id" ,property = "id"),
@Result(column = "uid",property = "uid"),
@Result(column = "money" ,property = "money"),
@Result(property = "user",column = "uid", one=@One(select="com.sealong.dao.IUserDao.findOneById",fetchType= FetchType.EAGER)一对一查询使用
/ many=@Many(select="com.sealong.dao.IUserDao.findOneById",fetchType= FetchType.EAGER)一对多查询使用)
})
List<Account> findAll();
}
---------------从表user所对应的dao文件--------------------
package com.sealong.dao;
import com.sealong.domain.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface IUserDao {
/**
* 通过用户Id查找一个用户
* @param userId
* @return
*/
@Select("select * from user where id = #{id}")
User findOneById(Integer userId);
}
最后
以上就是和谐白羊为你收集整理的mybatis 注解开发之(多表查询的一对一及一对多查询)---------------主表Account所对应的dao文件-------------------- ---------------从表user所对应的dao文件--------------------的全部内容,希望文章能够帮你解决mybatis 注解开发之(多表查询的一对一及一对多查询)---------------主表Account所对应的dao文件-------------------- ---------------从表user所对应的dao文件--------------------所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复