MyBatis
门没锁啊
如果人生是一场比赛,那赢家为什么不能是我!
展开
-
MyBatis_初识MyBatis
1 MyBatis是什么mybatis是一个持久层的框架,是Apache下的顶级项目mybatis让程序员将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足需要的sql语句mybatis可以将向prepareStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象(输出映射)2MyBatis框架原创 2016-01-04 12:34:31 · 334 阅读 · 0 评论 -
MyBatis_结合Spring_Oracle批量插入
DAO:YQDaoImpl@Override public int insertYQinfo2DB(List list) { return insert("YQDao.insertYQinfo2DB",list); }YQMapper.xml INSERT INTO yq_info (id, title, url, source, time,原创 2017-07-19 10:14:09 · 406 阅读 · 0 评论 -
MyBatis_spring和mybatis整合
1 整合思路需要spring通过单例模式管理SqlSessionFactoryspring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession持久层的mapper都需要spring进行管理2 SqlSessionFactory在applicationContext.xml配置sqlSessionFactory配置<beans xm原创 2016-01-10 22:56:42 · 524 阅读 · 0 评论 -
MyBatis_整合ehcache
ehcache是一个分布式缓存框架1 分布缓存不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统 开发。所以要使用分布式缓存对缓存数据进行集中管理。2 整合方法mybatis提供了一个cache接口,如果要实现自己的缓存逻辑,实现cache接口开发即可。 mybatis和ehcache整合,mybatis和ehcache整合包中提供了一个cache接口原创 2016-01-10 21:03:15 · 407 阅读 · 0 评论 -
MyBatis_查询缓存
1 什么是查询缓存mybatis提供查询缓存,用于减轻数据库压力,提高数据库性能mybatis提供一级缓存 二级缓存一级缓存是sqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构hashMap用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存是mapper级别的缓原创 2016-01-10 19:20:05 · 619 阅读 · 0 评论 -
MyBatis_延迟加载
1 延迟加载resultMap可以实现高级映射(使用association, collection实现一对一 和一对多映射) association, collection具备延迟加载功能需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 延迟加载:先从单表查询、需要时再从原创 2016-01-10 15:32:47 · 307 阅读 · 0 评论 -
MyBatis_入门程序
1 需求根据用户id查询用户信息根据用户名称模糊查询用户信息添加用户信息删除用户更新用户2 环境java环境:jdk1.7.0_72eclipse: indiomysql: 5.1mybatis运行环境(jar包):从https://github.com/mybatis/mybatis-3/releases下载,3.2.7版本lib下原创 2016-01-05 21:20:01 · 312 阅读 · 0 评论 -
MyBatis_mapper代理开发方法
1 思路需要编写mapper.xml映射文件编写mapper.xml接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象开发规范:1) mapper.xml中namespace等于mapper接口地址2) mapper.java接口名和statement的id一致原创 2016-01-07 12:25:10 · 383 阅读 · 0 评论 -
MyBatis_SqlMapConfig.xml初始
mybatis的全局配置文件SqlMapConfig.xml,配置如下:properties(属性)settings ( 全局配置参数)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory (对象工厂)plugins (插件)environments (环境集合属性对象)environment(环境子属性对象)t原创 2016-01-07 21:39:04 · 420 阅读 · 0 评论 -
MyBatis_输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型,hashMap pojo类型1 传递pojo的包装类型1.1 需求完成用户信息的综合查询,需要传入查询条件很复杂(可能包含用户信息 其他信息 比如商品 订单)1.2 定义包装类型pojo1.3 mapper.xml在UserMapper.xml中定义用户信息综合查询(查询条件复杂 通过高级查询进行原创 2016-01-09 14:17:20 · 387 阅读 · 0 评论 -
MyBatis_输出映射
1 resultType 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功如果查询出来的列名和pojo中的属性全部不一致,没有创建pojo对象如果查询出来的列名和pojo中的属性有一个一致,则创建pojo对象1.1 输出简单类型1.1.1 需求用户信息的综合信息查询列表总数。 1.1.2 map原创 2016-01-09 14:19:50 · 498 阅读 · 0 评论 -
MyBatis_动态SQL
1 动态SQL: mybatis核心对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接 组装2 需求用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql3 Mapper.xml4 测试代码5SQL片段5.1 需求将上边的sql判断代码抽取出来,组成一个sql片段。其他的statemen原创 2016-01-09 15:18:02 · 282 阅读 · 0 评论 -
MyBatis_多对多查询
1 需求查询用户及用户购买商品信息2 SQL语句SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.order原创 2016-01-09 22:30:18 · 745 阅读 · 0 评论 -
MyBatis_一对多查询
1 需求 查询订单及订单详细2 SQL语句SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.orders_idFR原创 2016-01-09 21:41:38 · 635 阅读 · 0 评论 -
MyBatis_一对一查询
1 需求查询订单信息,关联查询创建订单的用户信息2 resultType2.1 sql语句确定查询的主表:订单表确定查询关联表:用户表SELECT orders.*, USER.username, USER.sex, USER.address FROM orders, USER WHERE orders.user_id = user.i原创 2016-01-09 19:54:01 · 430 阅读 · 0 评论 -
Oracle的Blob对应String类型
package com.sinosoft.business.base.service;import java.io.ByteArrayInputStream;import java.io.UnsupportedEncodingException;import java.sql.Blob;import java.sql.CallableStatement;import java.sql.转载 2018-01-17 14:58:43 · 1293 阅读 · 0 评论