摘要: 1.事务介绍 (1)特性:ACID Atomicity(原子性):事务中的所有操作要么全做要么全不做 Consistency(一致性):事务执行的结果使得数据库从一个一致性状态转移到另一个一致性状态 Isolation(隔离性):一个事务的执行不受其他事务的干扰 Durability(永久性):一个 阅读全文
posted @ 2017-08-06 23:39 QiaoZhi 阅读(1342) 评论(0) 推荐(1) 编辑
摘要: 1. mybatis缓存介绍 如下图,是mybatis一级缓存和二级缓存的区别图解: mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存。 一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数 阅读全文
posted @ 2017-08-06 21:27 QiaoZhi 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 需求: 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询 阅读全文
posted @ 2017-08-06 19:29 QiaoZhi 阅读(514) 评论(0) 推荐(0) 编辑
摘要: resultType: 作用: 将查询结果按照sql列名pojo属性名一致性映射到pojo中。 场合: 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可。 阅读全文
posted @ 2017-08-06 18:58 QiaoZhi 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 1.需求 查询用户及用户购买商品信息。 2 sql语句 查询主表是:用户表 关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表: orders、orderdetail、items 3 映射思路 将用户信息映射到user中。 在user类中添加订单列表属性List<Orders 阅读全文
posted @ 2017-08-06 18:57 QiaoZhi 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: 1.需求: 查询所有订单信息及订单下的订单明细信息。 订单信息与订单明细为一对多关系。 2. sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可。 3. 分析(只能使用resultMap) 使用resultType将上边的 查询结果映射到pojo中 阅读全文
posted @ 2017-08-06 18:22 QiaoZhi 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 1.需求 查询所有订单信息,关联查询下单用户信息。 注意: 因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。 2. 方法一:resultType 使用resultType,定义 阅读全文
posted @ 2017-08-06 18:05 QiaoZhi 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 1. 数据模型分析思路 1、每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程。 2、每张表重要的字段设置 非空字段、外键字段 3、数据库级别表与表之间的关系 外键关系 4、表与表之间的业务关系 在分析表与表之间的业务关系时一定要建立 在某个业务意义基础上 阅读全文
posted @ 2017-08-06 17:43 QiaoZhi 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 0 什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 通过mybatis提供的各种标签方法实现动态拼接sql。 if,where 1.问题描述 用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。 对 阅读全文
posted @ 2017-08-06 17:35 QiaoZhi 阅读(2189) 评论(0) 推荐(0) 编辑
摘要: 0.#{}与${}区别 #{}实现的是向prepareStatement中的预处理语句中设置参数值,sql语句中#{}表示一个占位符即?。 使用占位符#{}可以有效防止sql注入,在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。#{}可以接收简单类型值或po 阅读全文
posted @ 2017-08-06 16:58 QiaoZhi 阅读(833) 评论(0) 推荐(0) 编辑
摘要: mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environme 阅读全文
posted @ 2017-08-06 16:14 QiaoZhi 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 1. SqlSession使用范围 1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory 将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSess 阅读全文
posted @ 2017-08-06 15:50 QiaoZhi 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 1. 添加配置文件 log4j.properties db.properties sqlMapConfig.xml (全局配置文件) User.xml 2.入门代码测试: (1)根据Id查询用户信息 (2)模糊查询代码测试 (3)添加用户 (4)删除用户 (5)更新用户 总结: 1. paramet 阅读全文
posted @ 2017-08-06 15:33 QiaoZhi 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 官方API:http://www.mybatis.org/mybatis-3/index.html 中文: http://www.mybatis.org/mybatis-3/zh/index.html 1.什么是mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年 阅读全文
posted @ 2017-08-06 15:03 QiaoZhi 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 1.首先应该明白,mybatis增删改返回值是int型的影响行数的值 mapper接口 mapper.xml 测试代码: 结果: 2.批量增加 sql语句: insert into xxx values ("xx1",'xxx1'),("xx2","xxx2"),("xx3","xxx3") map 阅读全文
posted @ 2017-08-06 13:02 QiaoZhi 阅读(4490) 评论(0) 推荐(0) 编辑
摘要: 补充: 连接查询的例子:参考: http://www.cnblogs.com/qlqwjy/p/7837529.html 1.三个表的显示内连接: 2.两个表的显示内连接 3.将查到的数据作为一个虚表连接查询: 阅读全文
posted @ 2017-08-06 10:23 QiaoZhi 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-08-06 10:14 QiaoZhi 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-08-06 10:10 QiaoZhi 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 逆向工程可以快速将数据库的表生成JavaBean,同时生成对单标操作的Mapper.java与Mapper.xml,极大地提高了开发速度。 1.jar包 2.配置文件 需要修改数据库连接信息,mapper生成目录与pojo生成位置,也要修改要导出的表。 工程目录下配置generatorConfig. 阅读全文
posted @ 2017-08-06 09:42 QiaoZhi 阅读(607) 评论(0) 推荐(0) 编辑