其他代码访问:Mybatis注解开发基础操作

1.添加OrderMapper接口

public interface OrderMapper {

//    @Select("select *,o.id oid from orders o,user u where o.uid=u.id")
// @Results({
// @Result(column = "oid",property = "id"),
// @Result(column = "ordertime",property = "ordertime"),
// @Result(column = "uid",property = "user.id"),
// @Result(column = "username",property = "user.username"),
// @Result(column = "password",property = "user.password")
// })
// public List<Order> findAll();
@Select("select * from orders")
@Results({
@Result(column = "oid",property = "id"),
@Result(column = "ordertime",property = "ordertime"),
@Result(column = "total",property = "total"),
@Result(
property = "user",//要封装的属性名称
column = "uid", //根据哪个字段进行查询User表的字段
javaType = User.class,//要封装的实体类型
//select属性,代表查询查询哪个接口方法获得数据
one = @One(select ="com.hao.mapper.UserMapper.findById")
)
})
public List<Order> findAll();
}

2.测试

public class MapperTest2 {

    private OrderMapper orderMapper;
@Before
public void before() throws IOException {
InputStream stream = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(stream);
SqlSession sqlSession = build.openSession(true);
orderMapper = sqlSession.getMapper(OrderMapper.class);
} @Test
public void testFindAll(){
List<Order> list = orderMapper.findAll();
for (Order order : list) {
System.out.println(order);
}
}
}

测试结果:
Order{id=0, ordertime=Wed Dec 12 08:00:00 CST 2018, total=3000.0, user=User{id=1, username=‘lucy’, password=‘123’, birthday=Wed Dec 12 08:00:00 CST 2018}}
Order{id=0, ordertime=Wed Dec 12 08:00:00 CST 2018, total=4000.0, user=User{id=1, username=‘lucy’, password=‘123’, birthday=Wed Dec 12 08:00:00 CST 2018}}
Order{id=0, ordertime=Wed Dec 12 08:00:00 CST 2018, total=5000.0, user=User{id=2, username=‘dou’, password=‘bi’, birthday=null}}

最新文章

  1. JMeter学习(一)工具简单介绍
  2. ci重定向
  3. 点亮一个led灯
  4. 端口映射工具--socat
  5. Django 的 CSRF 保护机制(转)
  6. [WinForm]DataGridView列自适应
  7. JADE平台入门
  8. groupinfo
  9. HDOJ/HDU 1085 Holding Bin-Laden Captive!(非母函数求解)
  10. Android ImageView的scaletype属性
  11. python游戏编程——跟13岁儿童学编程
  12. We Chall-Training: Get Sourced-Writeup
  13. [Codeforces]762F - Tree nesting
  14. js替换全部,js检查输入的日期是否是一个正确的日期格式
  15. ef core code frist
  16. python3 installed 安装 pip3
  17. xdebug : Debug session was finished without being paused
  18. TypeScript 接口(三)
  19. 使用VSTO写的一个工作证打印软件
  20. linux查看系统版本(适用于centos、ubutun,其他类型没有进行测试)

热门文章

  1. 番茄钟的实现(基于Xilinx EGO1学习板)
  2. 06 for循环 增强for循环 练习
  3. kkFileView对接svn服务完成文件在线预览功能
  4. JVM基本概念
  5. ArcGIS Server创建站点失败Failed to register the activation group
  6. 领域驱动模型DDD(一)——服务拆分策略
  7. linux下安装简单的文件上传与下载工具 lrzsz
  8. C++中的RAII介绍
  9. 半吊子菜鸟学Web开发6 -- Vscode开发环境配置
  10. kafka 如何不消费重复数据?比如扣款,我们不能重复的扣?