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