mybatis入门02

1. mybatis的xml配置文件(部分配置)

1.1 属性(properties)

这些属性都是可外部配置且可动态替换的,既能够在典型的 Java 的properties属性文件中配置,亦可经过 properties 元素的子元素来传递。java

<properties resource="org/mybatis/example/config.properties">
  <property name="username" value="dev_user"/>
  <property name="password" value="F2Fa3!33TYyg"/>
</properties>
复制代码

1.2 类型别名(typeAliases)

类型别名是为 Java 类型设置一个短的名字。 它只和 XML 配置有关,存在的意义仅在于用来减小类彻底限定名的冗余。sql

<typeAliases>
  <typeAlias alias="Author" type="domain.blog.Author"/>
</typeAliases>
复制代码

也能够指定一个包名,MyBatis 会在包名下面搜索须要的 Java Bean,好比数据库

<typeAliases>
  <package name="com.wangdao.bean"/>
</typeAliases>
复制代码

1.3 映射器(mappers)

<!-- 使用相对于类路径的资源引用 -->
<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
复制代码
<!-- 使用彻底限定资源定位符(URL) -->
<mappers>
  <mapper url="file:///var/mappers/AuthorMapper.xml"/>
  <mapper url="file:///var/mappers/BlogMapper.xml"/>
  <mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
复制代码
<!-- 使用映射器接口实现类的彻底限定类名 -->
<!-- 要经过接口找到对应的映射文件,类名+方法名 = namespace+id -->
<!-- 编译后把xxxMapper.xml和xxxMapper.class放到同一路径下 -->
<mappers>
  <mapper class="org.mybatis.builder.AuthorMapper"/>
  <mapper class="org.mybatis.builder.BlogMapper"/>
  <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
复制代码
<!-- 将包内的映射器接口实现所有注册为映射器 -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>
复制代码

2. Log4j 日志框架

经过IO输出到日志文件,消耗系统资源数组

2.1 引入依赖

log4jmybatis

2.2 复制配置

2.3 日志输出级别

debug > info > warn > error > fatalapp

3. 输入映射

单个参数,多个参数,注解框架

3.1 单个参数

#{value}dom

  • 值类型
    • value写任意字符
  • javabean
    • value写bean的成员变量名,其实是调用bean的get()
  • map
    • value写map的key,实际用key对应的value

3.2 多个参数

根据传入参数的顺序,分别对应arg0,arg1...或param1,param2ui

3.3 使用注解

@Param 可见便可用url

可见:@Param(" ")中的value值

可用:value能够直接在#{}中使用

4. 输出映射

4.1 值类型

  • 单个结果
    • resultType="值类型"
  • 多个结果
    • resultType="值类型",方法的返回值为数组或list

4.2 Bean类型

查询结果的列名与bean的成员变量名对应

不一致的能够在sql中使用as修改查询结果的列名

实际使用的是bean对象的setter()

4.3 resultMap

封装javabean

让查询结果的列名和javabean的成员变量名产生映射关系

<resultMap id="resultMap的id值" type="封装的bean全限定名">
  <!--id为主键映射-->
  <id property="" column=""/>
    <!--result为非主键映射-->
  <result property="username" column="author_username"/>
</resultMap>
复制代码

property为bean的成员变量名

column为数据库查询结果的列名

<select id="selectBlog" resultMap="resultMap的id值">
  
</select>
复制代码
相关文章
相关标签/搜索