Mybatis注解开发(一对一)
其他代码访问: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}}
Mybatis注解开发(一对一)的更多相关文章
- 阶段3 1.Mybatis_12.Mybatis注解开发_6 mybatis注解开发一对一的查询配置
新建Account实体类 生成getter和setter还有toString方法 先创建dao类 全局的配置,这里要改成package 创建多对一的关系 在查询的时候输出user这个对象的内容 建立查 ...
- mybatis学习:mybatis注解开发一对一的查询配置
实体类: public class Account { private Integer id; private Integer uid; private Double money; private U ...
- Mybatis注解开发多表一对一,一对多
Mybatis注解开发多表一对一,一对多 一对一 示例:帐户和用户的对应关系为,多个帐户对应一个用户,在实际开发中,查询一个帐户并同时查询该账户所属的用户信息,即立即加载且在mybatis中表现为一对 ...
- 【MyBatis】MyBatis 注解开发
MyBatis 注解开发 文章源码 环境搭建 Mybatis 也可以使用注解开发方式,这样就可以减少编写 Mapper 映射文件. 常用注解说明: @Insert 实现新增 @Update 实现更新 ...
- Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化
知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...
- 【java框架】MyBatis(7)--MyBatis注解开发
1.MyBatis注解开发 1.1.Lombok的基本使用 Lombok是SpringBoot2.1.X版本与IDEA官方支持的一个插件,它是为简化POJO类中繁杂重复代码:geter/setter/ ...
- Mybatis注解开发模糊查询
Mybatis注解开发模糊查询 一般在使用mybatis时都是采用xml文件保存sql语句 这篇文章讲一下在使用mybatis的注解开发时,如何进行模糊查询 模糊查询语句写法(在@Select注解中) ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-2.使用Mybatis注解开发视频列表增删改查
笔记 2.使用Mybatis注解开发视频列表增删改查 讲解:使用Mybatis3.x注解方式 增删改查实操, 控制台打印sql语句 1.控制台打印sql语句 ...
- Spring Boot 使用Mybatis注解开发增删改查
使用逆向工程是遇到的错误 错误描述 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): c ...
随机推荐
- .net为程序集签名之.pfx文件
项目中误删了.pfx证书文件,导致项目无法启动. 以为很快就能在网上找到解决方案,应该没关系,不过找了半个小时,都没有有效的解决办法,搜出来很多.pfx文件是一个证书文件,里面存储公钥和私钥,对于我要 ...
- &取地址运算符
&可以取得一个变量在内存当中的地址 Register int a; //这种变量不在内存里面,而在CPU里面,是没有地址的, 所以寄存器变量(register)不能用&来取得变量 在计 ...
- Zabbix 4.4管理界面中文乱码解决方法
1.zabbix 4.4 安装配置过程可参考官方文档: 文档链接地址:https://www.zabbix.com/download?zabbix=4.4&os_distribution=ce ...
- 使用ipmitool工具来使用串口连接远程主机
https://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html ipmitool -H 9.13.2.213 -U root -P xxxx ...
- Cobalt Strike之HTA木马
点击 attacks --> packages --> HTML Application 弹出的对话框method选择powershell (不要选第一个,不太兼容)点击确定 测试运行
- 程序流程控制2 for循环
for循环是python中的一个通用的序列迭代器,可以遍历序列对象中的所有对象. 1.for循环基本格式 for循环基本格式如下. for var in object: 循环体语句块 else: 语句 ...
- Poco实体
在Poco实体中,一般只有属性没有方法,这在软件设计中称为贫血模型, 在DDD领域驱动设计中,提倡充血模型,即你的Poco实体中,即有属性,也有操作属性的方法,[PS:注意这里说的是操作属性的方法,你 ...
- C++ cout 数字之间进制的转换
转换一个数变成8进制,则为 cout << oct << x << endl; 转换一个数变为16进制,为 cout << hex << x ...
- python数据分析与挖掘实战————银行分控模型(几种算法模型的比较)
一.神经网络算法: 1 import pandas as pd 2 from keras.models import Sequential 3 from keras.layers.core impor ...
- JDBC操作数据库的步骤 ?
注册数据库驱动. 建立数据库连接. 创建一个Statement. 执行SQL语句. 处理结果集. 关闭数据库连接.