MyBatis要点2

1.insert|update|deleted
这三个标签都没有resultType属性,操作结果需要靠接口的返回值来判断。返回值int受影响行数.
如果数据库是主键自增的,在insert标签中useGeneratedKeys=“true” keyProperty=“形参对象的属性名” 获取自增主键id

2.sql:
公共sql语句块.

uid,uname,uphone,upwd,uemail,create_time,update_time,rid
</sql
结合

3.resultMap:结果集映射
实体类属性名与数据库的字段名不一致;

主键列映射
非主键列映射e

4.resultMap的子标签collection,association对象关系映射:
关联查询:查询用户对象的时候,把用户的角色对象关联查询出来。
association:多对一,一对一关系
查询用户对象的时候,把用户的角色对象关联查询出来。
collection:一对多。
查询角色对象的时候,把该角色下的所有用户查询出来。

5.动态sql:在xml映射文件中进行sql拼接
if:条件判断,传入boolean表达式,多条件使用and或or
where:生成where关键字,并忽略紧跟其后的and或or,如果where中间的是空的,则不生成where了
set:生成set关键字,并忽略最后一个逗号.
foreach:遍历数组和集合参数,批量删除,批量添加
choose-when-otherwise:单条件查询

6.动态代理Proxy类:
Proxy类有成员变量 InvocationHandler h;
创建的代理类$Proxy0 extends Proxy,所以如果原对象没有接口,Proxy类newProxyInstance不能创建代理对象,报异常。

动态代理的实现方式两种:
    jdk的Proxy类,要求被代理对象必须有接口。因为内部创建的$Proxy0已经有extends父类,所以$Proxy0只能够用implements继承接口。
    第三方组件cglib,可以没有接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值