Mybatis学习笔记
文章平均质量分 81
北风剑客
这个作者很懒,什么都没留下…
展开
-
mybatis(2)mybatis开发dao的方法
1.1 SqlSession使用范围 1.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessionFactoryBuilder。在需要创建SqlSessionFacto原创 2015-10-08 16:38:26 · 454 阅读 · 0 评论 -
mybatis(11) 查询缓存
1.1 什么是查询缓存mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。mybaits提供一级缓存,和二级缓存。一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。 二级缓存是ma原创 2015-11-28 11:28:01 · 264 阅读 · 0 评论 -
mybatis(12) spring和mybatis整合
整合思路需要spring通过单例方式管理SqlSessionFactory。spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)持久层的mapper都需要由spring进行管理。整合环境jar包:mybatis3.2.7的jar包、spring3.2.0的jar包、原创 2015-12-05 23:16:06 · 241 阅读 · 0 评论 -
mybatis(9) 多对多查询
1.1 需求查询用户及用户购买商品信息。 1.2 sql语句查询主表是:用户表关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:orders、orderdetail、itemsSELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id order原创 2015-11-23 21:10:31 · 279 阅读 · 0 评论 -
mybatis(10) 延迟加载
1.1 什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 延迟加载:先从单表查询、需要原创 2015-11-23 22:12:50 · 286 阅读 · 0 评论 -
mybatis(8)一对多查询
1.1 需求查询订单及订单明细的信息。1.2 sql语句确定主查询表:订单表确定关联查询表:订单明细表在一对一查询基础上添加订单明细表关联即可。 SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdeta原创 2015-11-14 12:01:54 · 616 阅读 · 0 评论 -
mybatis(7)一对一查询
需求:查询订单信息,关联查询创建订单的用户信息1.1 resultType1.1.1 sql语句SELECT orders.*, USER.username, USER.sex, USER.address FROM orders, USER WHERE orders.user_id = user.id1.1.2 创建pojo将上边sql原创 2015-11-01 19:07:15 · 237 阅读 · 0 评论 -
mybatis(6)动态sql
1.1 什么是动态sqlmybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。1.2 需求用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。1.3 mapper.xml <select id="findUserList" parame原创 2015-10-25 21:15:16 · 277 阅读 · 0 评论 -
mybatis(5)输出映射
1.1 resultType使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。1.1.1 输出简单类型1.1.1.1 需求用户信息的综合查询列表总数,通过查询总数和上边用户综原创 2015-10-24 19:48:35 · 282 阅读 · 0 评论 -
mybatis(4)输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。1.1 传递pojo的包装对象1.1.1 需求完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的)1.1.2 定义包装类型pojo针对上边需求,建议使用自定义的包装类型的pojo。在包装类型的pojo中将复杂的查询条件包装进原创 2015-10-22 21:41:59 · 334 阅读 · 0 评论 -
mybatis(3)SqlMapConfig.xml配置
1、properties属性需求:将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties。db原创 2015-10-14 11:00:06 · 365 阅读 · 0 评论 -
mybatis(1)mybatis入门程序
1、对原生态jdbc程序中问题总结package com.xdy.mybatis.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;原创 2015-10-01 23:18:03 · 560 阅读 · 0 评论 -
mybatis(13) 逆向工程
什么是逆向工程mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..)企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。下载逆向工程生成代码配置文件generatorConfig.xml<!DOCTYPE generato原创 2015-12-07 21:31:56 · 309 阅读 · 0 评论