zoukankan      html  css  js  c++  java
  • Mybatis- 配置

    主配置文件

    properties

    • 第一种
    <properties>
        <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/eesy"/>
        <property name="jdbc.username" value="root"/>
        <property name="jdbc.password" value="1234"/>
    
    
    • 第二种
      • 在 classpath 下定义 db.properties 文件
    <properties  resource="jdbcConfig.properties"/>
    
    <dataSource type="POOLED">
        <property name="driver" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </dataSource>
    
    

    settings

    主要用于改变MyBatis运行时行为,例如开启二级缓存,开启延迟加载等

    typeAliases

    • 单个别名定义
    <typeAliases>
        <typeAlias alias="user" type="com.itheima.domain.User"/>
    </typeAliases>
    
    • 批量别名定义
      通过自动扫描包,将类名
    <typeAliases>
        <package name="com.itheima.domain"/>
    </typeAliases>
    
    • 如果在程序中使用了注解,则别名为其注解的值
      @Alias(value="user")

    • 除自定义类名外,Mybatis还默认为许多常见的Java类型提供了相应的类型别名

    typeHandler

    • 类型处理器
    • 自定义类型处理器

    objectFactory

    • 通常情况下使用默认的ObjectFactory即可,默认由DefaultObjectFactory提哦那个服务
    • 如需自定义对象工厂,实现ObjectFactory接口或继承DefaultObjectFactory类

    plugins

    -配置用户所开发的插件

    environments

    • 通过该元素配置多种数据源,即配置多种数据库

    mappers

    • 指定Mybatis映射文件的位置
      • <mapper resource=" " />:相对于类路径
      • <mapper url=" " />:本地文件路径引入
      • <mapper class=" " />:接口类路径,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中
      • <package name=""/>:指定包下的所有 mapper 接口,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中

    映射文件

    mappers是根元素

    select

    • id:命名空间唯一标识符
    • parameterType:指定传入参数的类型,基本类型和String类型可以直接写类型名,类名要使用全限定类名
    • resultType:指定结果集的类型,和parameterType一样
    • resultMap
      • 可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装
    <!-- 建立 User 实体和数据库表的对应关系
    type 属性:指定实体类的全限定类名
    id 属性:给定一个唯一标识,是给查询 select 标签引用用的。
    -->
    <resultMap type="com.itheima.domain.User" id="userMap">
        <id column="id" property="userId"/>
        <result column="username" property="userName"/>
        <result column="sex" property="userSex"/>
        <result column="address" property="userAddress"/>
        <result column="birthday" property="userBirthday"/>
    </resultMap>
    id 标签:用于指定主键字段
    result 标签:用于指定非主键字段
    column 属性:用于指定数据库列名
    property 属性:用于指定实体类属性名称
    

    insert

    • selectKey

    update

    delete

    sql

    Sql 中可将重复的 sql 提取出来,使用时用 include 引用即可,最终达到 sql 重用的目的

    <!-- 抽取重复的语句代码片段 -->
    <sql id="defaultSql">
        select * from user
    </sql>
    
    <!-- 配置查询所有操作 -->
    <select id="findAll" resultType="user">
        <include refid="defaultSql"></include>
    </select>
    
  • 相关阅读:
    获取设备和 App 信息
    使用 UICollectionView 实现网格化视图效果
    UIImage 读取图片内存优化
    使用 stretchableImageWithLeftCapWidth 方法实现可伸缩图片
    使用 StoryBoard 实现左右按钮切换图片的浏览效果
    二维码图片生成(扩展知识:创建带圆角效果的图片)
    Objective-C语法之扩展(Extension)的使用
    Objective-C语法之字符串NSString去掉前后空格或回车符(可以是NSCharacterSet类型的其它字符)
    Objective-C语法之可变参数
    什么时候layoutSubview会被调用
  • 原文地址:https://www.cnblogs.com/mewcoder/p/10699227.html
Copyright © 2011-2022 走看看