mybatis-1


mybatis 支持注解支持sql.方便与spring集成。

1 映射

1.1文件的映射

   注意xml文件一定要规范,xml文件如果在最前面的<?xml 加个空格,就是报错,这种错误极其难找,所以碰到这种操蛋问题可费神,规范极其重要

 

1.2表,字段的映射

伦理片 http://www.dotdy.com/ 

   property 对应对象的属性名, column为列名或者列的别名, javaType或者jdbcType都可以对应, 对于基本数据类型,比如 MyEntity的 Integer id是主键,要用id标签, jdbcType是java.sql. jdbcType下的类型,都是大写的, javaType下如果是基本的数据类型可以直接写 java.lang.Integer或者 Integer都可以,这里的例子是javaType,项目中用的最多的是jdbcType。type是要写类的全名,id是标示,id标示可以提供给其他用,比如select标签,select语句查询的内容映射的是 resultMap的type对应的类属性
1.3 resultMap和resultType映射
resultMap映射到 resultMap的唯一标示id,间接的映射到entity对象,比如select里面的 resultMap属性,在 resultMap标签里面是可以做类型转换的,typeHander=
resultType 映射到一个全定名的java类,可以是一个Map,可能是entity,如果是Map,mybatis会把查询的结果集放到Map集合中, resultType必须保证java属性和查询结果的一致性,而且利用 resultType没法利用类型转换

2 传参

mybatis都给提供了参数 

Java代码   收藏代码
  1. <E> List<E> selectList(String statement, Object parameter);  

 那么xml配置可以通过 #{xxxx} 传递参数,如果是一个entity,xxxx就代表他的属性名

 mybatis采用了预编译方法,#{}会被解析成? ${}会被解析成= ,所以对字段排序的时候${}可以用上场

 

3 ONGL

  ONGL 在struts2也有,mybatis也有,mybatis的ONGL 是可以直接用entity属性名的,而且还可以调用java的方法,常见的有

if判断

对于entity if标签可以直接用entity的属性

循环:

Java代码   收藏代码
  1. <delete id="deleteBatch" parameterType="java.util.List">  
  2.     delete from MyEntity where id in(  
  3.         <foreach collection="list" item = "item" separator=",">  
  4.             #{item}  
  5.         </foreach>  
  6.     )  
  7. </delete>  

 

  影音先锋电影 http://www.iskdy.com/

<where> 

Java代码   收藏代码
  1. <where>  
  2.     <if test="title!=null and ! &quot; &quot;.equals(title.trim())"></if>  
  3. </where>  

 

<set> 只用于update语句中

Java代码   收藏代码
  1. <set>  
  2.     <if test="title!=null and ! &quot; &quot;.equals(title.trim())">title=${title},</if>  
  3. </set>  

 ongl的引用

 

<trim> 可以替代where或者set

Xml代码   收藏代码
  1. <trim prefix="where" prefixOverrides="and/or">  
  2.     <!-- ...........与where效果一样 截取前缀的and或者or -->  
  3. </trim>  
  4. <trim prefix="set" suffixOverrides=",">  
  5.     <!-- ...........与set效果一样 截取前缀的逗号 -->  
  6. </trim>  

 

<choose>  当if判断极其复杂的时候 代替if else if语句




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值