1. 单表查询如果存在 表中字段与类中属性名称不一致 解决办法:
1. 在做查询时用别名;
2. 自建映射关系;
2. 多表关联查询,怎么将两个表的数据封装问题:
1. 在主表的基础上 重新创建一个主表的 vo类 ,让vo类继承主表对应的pojo ,
在vo中定义 被关联表的字段,在做关联查询时,对select 后边的字段做规范,
使查询后获得视图中的字段与 vo类的属性名称相同, 这样可以自动封装;
2. 在主表对应的pojo类中创建被关联的表对应的pojo 属性,然后自建映射关系:
关于自建映射:
1. 如果是一对一(多对一)查询: 要用
2. 如果是一对多查询: 要用 <collection>
3. 现在再来看mybatis,它跟hibernate相比:
1. db.properties 都需要配置
2. 连接池配置 <----导入db.properties 文件中的基本参数;
3. sqlSessionFactoryBean/LocalSessionFactoryBean 配置
<----1.注入连接池; 这个是相同的;
<----2.注入映射配置; 这个是不同的:
我们来分析一下这个:
在hibernate中,SessionFactory 封装了连接,封装了orm映射,然后将 SessionFactory
注入到dao中,你可以获得模板,用模板来创建对象执行hql或sql来完成数据库操作;
在mybatis中,SessionFactory 封装了连接,封装了mapper映射,这个mapper映射中的东
西要多一点,它不但做了输入输出映射,还做了sql语句映射;
4. mapper映射的配置:
1.输入映射:
2.输出映射:
3.sql语句映射:
mybatis输入输出映射
最新推荐文章于 2023-06-15 17:58:19 发布