MyBatis


一 java 中一些简单类型的别名  

http://blog.csdn.net/rootsuper/article/details/8537498

  • 基本类型:
    •         _byte  byte   
    •         _long  long   
    •         _short  short   
    •         _int   int    
    •         _integer   int    
    •         _double  double   
    •         _float   float    
    •         _boolean  boolean   
  • 包装类型:
    •         string  String   
    •         byte  Byte   
    •         long  Long   
    •         short  Short   
    •         int   Integer   
    •         integer   Integer   
    •         double  Double   
    •         float   Float    
    •         boolean  Boolean   
    •         date  Date   
    •         decimal  BigDecimal   
    •         bigdecimal  BigDecimal   
    •         object  Object   
    •         iterator  Iterator  
  • 集合类型:
    •         map  Map   
    •         hashmap  HashMap   
    •         list  List    
    •         arraylist  ArrayList   
    •         collection  Collection   

二 几点注意:

https://github.com/mybatis/mybatis-3/wiki/FAQ

1 如何使用多参数:

A  #{0} #{1} #{2} 。。。

B 把多个参数封装到一个Map,每个参数名是key,xml中配置parameterType="map"

C 把多个参数封装到一个Model,每个参数是Model的一个数据节点;

D Mapper接口中可以是多个参数,在每个参数前加上@Param注解,如:

List<VisitLastDateResult> selectRecentVisits(@Param("staffId") Long staffId, @Param("firmIds") List<Long> firmIds);

2 两个符号:

A #{} 只能用于传参,mybatis会把它解释成一个param maker;

B ${} 可以用在mysql其它关键位置,mybatis把它解释成一个字符串进行占位符号替换,如

        select id, firm_id, max(leave_date) from ${table} where staff_id = #{staffId}

3 SQL like 模糊查询:

String wildcardName = "%Smi%";
List<Name> names = mapper.selectLike(wildcardName);

<select id="selectLike">
  select * from foo where bar like #{value}
</select>

4 批量插入:

List<String> names = new ArrayList<String>();
names.add("Fred");
names.add("Barney");
names.add("Betty");
names.add("Wilma");


SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
try {
  NameMapper mapper = sqlSession.getMapper(NameMapper.class);
  for (String name : names) {
    mapper.insertName(name);
  }
  sqlSession.commit();
} finally {
  sqlSession.close();
}

5 返回主键值:

int rows = mapper.insertName(name);

rows:影响的行数

name.getId:产生的主键

<insert id="insertName" useGeneratedKeys="true" keyProperty="id">
  insert into names (name) values (#{name})
</insert>













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值