
mybatis
文章平均质量分 68
sinat_38142087
这个作者很懒,什么都没留下…
展开
-
【mybatis】一对一查询----resultType &resultMap
resultType实现一对一查询需求:查询订单信息,关联查询创建订单的用户信息分析:订单表是主查询表,用户表是关联表使用内连接还是外连接?由于orders表中有user_id这个外键,外键关联查询用户只能查询出一条记录,可以使用内连接。SELECT orders.*, user.username, user.sex, user.address FROM ...原创 2018-10-25 11:28:41 · 226 阅读 · 0 评论 -
【框架】mybatis--动态sql
动态sql是对sql语句的灵活操作,通过表达式进行判断,对sql进行灵活拼接,组装动态sql if的使用需求:用户信息综合查询和用户信息查询总数两个statement的定义使用动态sql灵活拼接<where>可以自动去掉第一个拼接语句前的and<if>判断对象是否为空这样可以实现去掉任意一个条件都可以随意拼接。组装sql语句。 动态sql ...原创 2018-10-24 17:23:44 · 243 阅读 · 0 评论 -
【框架】mybatis --输出映射 resultType&resultMap
1.resultType使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。 1.1、输出简单类型需求用户信息的综合查询列表总数,通过查询总数和上边用户综合查询列表实现分页。m...原创 2018-10-24 14:11:08 · 360 阅读 · 0 评论 -
【框架】mybatis全局配置文件 ---SqlMapConfig
1、properties连接数据库相关的信息放置在db.properties属性文件中,只需要在SqlMapConfig.xml中加载db.properties的属性值。将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties。db.propertiesjdbc.driver=com.mysql.jdbc....原创 2018-10-24 10:47:32 · 121 阅读 · 0 评论 -
【框架整合】sping整合mybatis---mapper代理开发
mapper.xml和mapper.java 通过MapperFactoryBean创建代理对象MapperFactoryBean中定义了mapperInterface属性 此方法问题:需要针对每个mapper进行配置,麻烦。 通过MapperScannerConfigurer进行mapper扫描(建议使用)MapperScannerConfigure...转载 2018-10-26 16:51:34 · 148 阅读 · 0 评论 -
Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring
原地址:https://www.cnblogs.com/jpfss/p/7799806.htmlMybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到SpringMybatis在与Spring集成的时候可以配置MapperFactoryBean来生成Mapper接口的代理. 例如<bean id="userMapper" cl...转载 2018-10-26 16:49:07 · 145 阅读 · 0 评论 -
【框架整合】spring 和mybatis整合&&整合后mybatis原始dao开发
整合思路需要spring通过单例方式管理SqlSessionFactory。spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)持久层的mapper都需要由spring进行管理。 整合环境jar包:mybatis3.2.7的jar包spring3.2.0的jar包...转载 2018-10-26 15:34:30 · 305 阅读 · 0 评论 -
【mybatis】mybatis整合ehcache
ehcache是一个分布式缓存框架。我们系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式) 对缓存数据进行集中管理(redis集群) 使用分布式缓存框架 redis、memcached、ehcache。。 不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统 开发。所以要使用分布式缓存对缓存数据进行集中管理。mybatis无法...转载 2018-10-26 13:32:11 · 147 阅读 · 0 评论 -
【mybatis】 一级缓存&二级缓存
一级缓存 工作原理图第一次发起查询用户id为1的用户信息,先去找缓存中是否有id为1的用户信息,如果没有,从数据库查询用户信息。得到用户信息,将用户信息存储到一级缓存中。如果sqlSession去执行commit操作(执行插入、更新、删除),清空SqlSession中的一级缓存,这样做的目的为了让缓存中存储的是最新的信息,避免脏读。第二次发起查询用户id为1的用户信息,先去找缓存中...转载 2018-10-26 11:33:40 · 142 阅读 · 0 评论 -
【mybatis】resultMap的延迟加载特性
什么是延迟加载resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单(主表)并且关联查询用户(关联表)信息。先查询订单信息进行单表查询,当我们需要用户信息时再查询用户信息。按需去查询用户信息就是延迟加载。延迟加载:先从单表查询、需要时再从关联表去关...转载 2018-10-26 10:55:51 · 504 阅读 · 0 评论 -
【mybatis】ResultMap& ResultType 总结
resultType:作用: 将查询结果按照sql列名pojo属性名一致性映射到pojo中。场合: 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可。 resultMap: 使用a...转载 2018-10-25 17:52:54 · 143 阅读 · 0 评论 -
【mybatis】多对多查询
多对多查询 需求查询用户及用户购买商品信息。sql语句查询主表是:用户表 user关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表是:orders、orderdetail、items SELECT orders.*,//order表的唯一标识 user表的唯一标识 USER.username, USER.sex, ...原创 2018-10-25 16:07:48 · 227 阅读 · 0 评论 -
【mybatis】一对多查询
collection:对关联查询到多条记录映射到集合对象中 property:将关联查询到多条记录映射到cn.itcast.mybatis.po.Orders哪个属性 ofType:指定映射到list集合属性中pojo的类型原创 2018-10-25 15:47:49 · 147 阅读 · 0 评论