Mybatis

1.基本操作细节

1.1本地xml文件配置

step1
在这里插入图片描述
step2
在这里插入图片描述
step3
在这里插入图片描述
step4
在这里插入图片描述

1.2< enviroment>中的< transactionManager>和< dataSource>配置

在这里插入图片描述
需注意JDBC 和 POOLED仅仅是别名

1.3配置文件中的相对路径

由介绍文档 :主配置文件中 resource 后 跟相对路径
在这里插入图片描述

1.4 日志的使用

step1导包
在这里插入图片描述
step2
在这里插入图片描述
step3
在这里插入图片描述

1.5 OGNL表达式的运用

1.5.1 上下文对象是 JavaBean 对象

#{属性名称} #{name}
Employee id,name,age,dept(id,name) #{dept.name} 上下文对象.getDept().getName();

1.5.2 上下文对象是Map对象:

#{key}

1.5.3 上下文对象是简单类型对象(基本类型+String)

直接取出数据值,跟花括号中的name没有任何关系 (#{id}只有占位符的作用)

2.Demo

Demo1 dao思想完成CRUD

Attention

  1. 映射配置文件中save 操作加入 获取自增的主键的操作(注意insert标签的后三个属性 )
<insert id="save" useGeneratedKeys="true"  keyColumn="id" keyProperty="id">
 	insert into t_user (id,name,salary) values(null,#{name},#{salary});
 	</insert>
  1. 加入日志 之后 可以将Mybatis 拼接成的sql语句输出 ,方便查看

  2. 在实现类中 不能把sqlSession 设置成 静态成员变量 如果所有方法共享一个 sqlSession 后面web项目的时候 第一个方法执行完毕 close() 后 ,后面的方法就执行不了了

  3. 在配置映射文件时 形式参数 parameterType 可以省略 ,因为 传过来的对象 可以 在底层通过 getClass() 方法 得到本身的类型 (字节码文件)

  4. 主配置文件 如何映射到 映射配置文件 我们通常是采取 resource 配置 相对路径(前面自动拼接上 …/bin/)
    在这里插入图片描述

  5. 在增删改的实现中,底层都是executeUpdate() 所以是认后面的sql语句 而不认session 调的delete() insert()方法等

  6. typeAliases标签中 用 package 的原理 把后面的类型 直接拼接在 package 的包下 (不过 大小写 随意 )

3. 异常

3.1异常一illegalArgumentException:Malformed\uxxxx encoding.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2异常二Unknown column…

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值