MyBatis(二)配置文件中的属性设置

settings标签—控制mybatis全局开关

  1. 在mybatis全局配置文件中通过标签控制mybatis全局开关

    <settings>
    	<setting name="logImpl" value="LOG4J"/>
    </settings>
    
  2. 注意:配置的时候一定要严格的按照dtd的格式来写

  3. 在mybatis.xml中开启log4j

    1. 必须保证有log4j.jar
    2. 在src下有log4j.properties
  4. log4j中可以输出指定内容的日志(控制某个局部内容的日志级别),在log4j.properties中设置

    1. 先在总体输出级别调成Error,不输出其他信息

    2. 在设置某个指定位置的级别为DEBUG

      1. 命名级别(包级别):指定到某个包

        log4j.logger.com.yzq.mapper=DEBUG
        
      2. 类级别:指定到某个类

        log4j.logger.com.yzq.mapper.UserMapper=DEBUG
        
      3. 方法级别:精确到指定的方法

        log4j.logger.com.yzq.mapper.UserMapper.selectUser=DEBUG
        

parameterType属性—控制参数类型

  1. 在XxxMapper.xml中等标签的parameterType可以控制参数类型

  2. SqlSession的selectList()和selectOne()的第二个参数和selectMap()的第三个参数都表示方法的参数

    1. 实例:

      Map<String, Object> map = new HashMap<String, Object>();
      map.put("id", 1);
      map.put("name", "张三");
      User user = session.selectOne("com.yzq.mapper.UserMapper.selById", map);
      System.out.println(user);
      
      
      

      mapper.xml

      <select id="selById" parameterType="map" resultType="com.yzq.pojo.User">
      	select * from user where id=#{id} and name=#{name}
      </select>
      
    2. 在Mapper.xml中可以通过#{}获取参数

      1. parameterType控制参数类型
      2. #{}获取参数内容
        1. 使用索引,从0开始#{0}表示第一个参数
        2. 也可以使用#{param1},也表示第一个参数
        3. 如果只有一个参数(基本数据类型或String),mybatis对#{}里面的内容没有要求,只要求写内容即可。
        4. 如果参数是对象#{属性名}
        5. 如果参数是map写成#{key}
  3. #{}和${}的区别

    1. #{}获取参数的内容支持索引获取,param1获取指定位置参数,并且SQL使用?占位符

      image-20200812154155627

    2. 字 符 串 拼 接 的 方 法 , 不 使 用 ? 默 认 找 {}字符串拼接的方法,不使用?默认找 使{内容}内容的get/set方法,如果写数字,就是一个数字

      image-20200812154136140

  4. 如果在xml文件中出现"<",">",双引号等特殊字符时,可以使用XML文件转义标签(XML自身的)

    1. <![CDATA[ 内容 ]]>,例如:
      <select id="sel" resultType="com.yzq.pojo.User" parameterType="int">
      	<![CDATA[select * from user where id < #{id}]]>
      </select>
      
  5. mybatis中实现MySQL分页写法

    1. ?不允许在关键字前后进行数字运算,需要在代码中计算完成后传递到mapper.xml
    2. 在java代码中计算
    3. 在mapper.xml中代码

typeAliaases别名

  1. 系统内置别名:把类型全小写

  2. 给某个类起别名

    1. alias=“自定义”

    2. 在mapper.xml中user引用user类

      image-20200812154216783

  3. 直接给某个包下所有类起别名,别名为类名,区分大小写

    1. 在mybatis中配置
    2. 在mapper.xml中通过类名引用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值