mybatis-2

mybatis原生用法

    sqlSession.selectOne(sqlId,参数);
    sqlSession.update(sqlId,参数);
    sqlSession.insert(sqlId,参数);
    sqlSession.delete(sqlId,参数);

mybatis接口用法

1 namespace与接口全限定名一致
2 id和抽象函数保持一致
3 参数类型与返回类型保持一致
4 java类名与xml文件名保持一致

    public interface GoodsMapper {
    Goods selectGoodsById();
}
    
    GoodsMapper mapper = sqlSession.getMapper(GoodsMapper.class);
    Goods goods = mapper.selectGoodsById();

mybatis-config.xml配置

properties

db.properties

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql:///taobao?useUnicode=true&characterEncoding=utf-8

jdbc.user=root

jdbc.password=123456

    
    
    
    
    
    
    

settings配置

下面是配置log4j日志

    
        
        
        
        
        
        
    
    # Global logging configuration
    log4j.rootLogger=ERROR, stdout
    # MyBatis logging configuration...
    log4j.logger.com.gxy.mapper=TRACE   //这里写你自己的包
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

别名

    
    
        
    
    
    

关联

关联结果resultMap与resultMap嵌套

    public class Goods {
        private GoodType goodsType;//属性是pojo 普通的java对象
    }

一对一

    

    
        
        
        
        
    
    
    
mybatis-2_第1张图片
关联resultMap相互嵌套

一对多




    
    
        
    

关联查询resultMap与select嵌套

一对一

    
            
            
        

        

        
mybatis-2_第2张图片
关联resultMap与select相互嵌套

一对多

    

    
        
        
        
    

动态sql

    

set与if组合

    update goods
    
        
            gname=#{gname}
        
        
            , good_type=#{goodsType.valueId}
        
    
    where gid=#{gid}

trim与if的组合,可以代替where和set

    update goods
    
        
            gname=#{gname},
        
        
            good_type=#{goodsType.valueId},
        
    

    select * from goods
    
        
            and gname=#{gname}
        
        
            and good_type=#{goodsType.valueId}
        
    

foreach,一般用在in语句

    select * from goods where gid in
    
        #{goods}
    

你可能感兴趣的:(mybatis-2)