MyBatis-第三章

MyBatis-第三章
入参的类型是对象

  1. 新增的参数是对象
  2. 空值的处理,占位符
    字段,jdbcType=VARCHAR 字符串
    字段,jdbcType=DATE 日期
    字段,jdbcType=INTEGER 数值
  3. 插入全部值时,可以不处理空值

log4j日志记录
可以记录不同级别的日志信息,以备排错和后续信息参考
1. 配置log4j.properties配置文件,放置在根目录下
日志全局设置:log4j.rootLogger=level ,console,stdout
日志等级level: DEBUG< INFO< WARN< ERROR 从低到高
变量console - 输出到console控制台
变量stdout – 输出到本地文件
2. 添加jar包
3. 正常启动

MyBatis缓存机制
1. 一级缓存
一级缓存基于MyBatis自带的PerpetualCache,是HashMap本地缓存,作用范围为session内,当session刷新或关闭后,该session中的所有cache就被清空。
2. 二级缓存
二级缓存就是全局缓存,它超出session的范围之外,可以被所有SqlSession共享
配置步骤:
1. 在mybatis-config.xml中设置
在这里插入图片描述
注意顺序,在文件开始位置
2. 在Mapper.xml启用缓存功能
在这里插入图片描述
3. 实体类实现Serializable 接口
将实体类序列化
4. 开启debug日志级别,在控制台中查看信息

Redis 非关系型数据,K/V形式存储格式

动态SQL
1. 模糊查询
#{value} 以?的方式传参到数据库 ‘value’
${id} 以拼接的方式传参到数据库 value
2. where

个人作业

1. MyBatis对象入参实例

	<insert id="insertBook">
	insert into book (book_id,book_name,book_auth,book_brief) 
	values(seq_bank_account.nextval,#{bookName,jdbcType=VARCHAR},#{bookAuth,jdbcType=VARCHAR},#{bookBrief,jdbcType=VARCHAR})

2. 日志的配置和功能
需要加载log4j.properties配置文件,放于根目录
添加相应的jar包
设置level等级设置,设置自己所需要的等级,规律如下
DEBUG< INFO< WARN< ERROR
进行记录相关的程序运行所需要的的信息进行纪录
3. MyBatis的缓存机制
mybatis提供查询缓存,用于减轻数据库压力,提高数据库性能

mybatis提供一级缓存和二级缓存
一级缓存:sqlsession级别的缓存
在操作数据库时,需要构造sqlsession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据
不同的sqlsession之间的缓存区域是互相不影响的。
二级缓存:mapper级别的缓存
多个sqlsession去操作同一个mapper的sql语句,多个sqlsession可以共用二级缓存,所得到的数据会存在二级缓存区域,
二级缓存是跨sqlsession的
二级缓存相比一级缓存的范围更大(按namespace来划分),多个sqlsession可以共享一个二级缓存
4. MyBatis动态SQL示例

	<select id="selectlike"  resultMap="BaseResultMap">
	select * from book  where book_name like '%${bookName}%'
	</select>
	<!-- 多条件查询中间包括以后必须添加and -->
	<select id="selectCondition" resultMap="BaseResultMap">
	select * from book
	<where>
	<if test="bookName !=null and bookName !=''">
	book_name= #{bookName}
	</if>
	<if test="bookAuth !=null and bookAuth !=''">
	and book_auth = #{bookAuth}
	</if>
	<if test="bookBrief !=null and bookBrief !=''">
	and book_brief = #{bookBrief}
	</if>
	
	</where>
	</select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值