Mybatis中常见的配置文件含义

Mybatis中常见的配置文件含义

  1. 核心配置文件configuration,这是mybatis的核心配置文件,在这之中配置你需要配置的东西

  2. settings,这是mybatis的全局配置参数,会影响mybatis的运行行为常用的设置如下:

    <settings>    
        <!--指定mybatis的日志实现和使用,常用的有如下俩-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <setting name="logImpl" value="LOG4J"/>
        <!--驼峰自动转换,把数据库的字段映射为驼峰式的字段-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    	<!--在全局范围内启用或禁用缓存-->
    	<setting name="cacheEnabled" value="true"/>
    </settings>
    
  3. 然后是typeAliases作用是给类起别名,比如你在mapper.xml中写了SQL语句返回值是一个pojo对象,平常都是写类的全类名,用了这个后就可以直接写类名的小写,比如

    <!--可以给实体类起别名-->
        <typeAliases>
            <typeAlias type="com.liu.pojo.User" alias="user"/>
        </typeAliases>
    

    然后还有可以指定到一个包名下,mybatis会在包名下搜索到需要的Javabean,默认别名是类名的小写

    <!--可以给实体类起别名-->
        <typeAliases>
           <package name="com.liu.pojo"/>
        </typeAliases>
    

    还有一种是注解的方式比如

    @Alias("hello")
    public class User {}
    

    这种方式,也需要在typeAliases中配置第二步,只是别名可以用这个hello

  4. typeHanders,是把数据库与pojo对象字段对应的,比如varchar和string对应

  5. 然后是environments,环境配置,mybatis可以配置多套环境,但是每个SQLSessionFactory实例只能选择一种环境

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    
    </environments>
    

    其中,多套环境中,默认使用的是default=“xxx”,如果需要用哪套设置在这里就行了,这个地方也不多讲了,就是数据库的一些基础配置mybatis默认的事物管理器是JDBC,连接池是POOLED,这里提一点:#{}与$()

    • #是防止sql注入的作用,相当于占位符
    • $是sql拼接,不防止SQL注入的
    • 如果参数是简单数据类型,#{任何值},${value}(必须这么写)
    • 在SQL语句中不能做SQL参数的内容,是不能使用#的,只能使用 , 比 如 : a s c / d e s c ; t a b l e n a m e ( 表 名 ) , 字 段 名 , 比 如 S Q L 中 o r d e r b y 就 只 能 用 ,比如:asc/desc;tablename(表名),字段名,比如SQL中order by就只能用 :asc/desc;tablename()SQLorderby(),#{}无法实现这个功能
  6. 最后是mappers,映射器,MapperRegistry:注册绑定我们 mapper文件;

    方式一(优先使用)

    <!--,每一个Mapper都需要在mybatis核心配置文件中注册-->
        <mappers>
            <mapper resource="com/liu/dao/UserMapper.xml"/>
        </mappers>
    

    方式二:使用class文件绑定注册

    <!--,每一个Mapper都需要在mybatis核心配置文件中注册-->
        <mappers>
            <mapper class="com.liu.dao.UserMapper"/>
        </mappers>
    

    注意点:

    • 接口和他的Mapper配置文件必须同名!
    • 接口和他的Mapper配置文件必须在同一包下!

    方式三:使用扫描包进行注册绑定

    <!--,每一个Mapper都需要在mybatis核心配置文件中注册-->
        <mappers>
           <package name = "com.liu.dao"/>
        </mappers>
    

    注意点:

    • 接口和他的Mapper配置文件必须同名!
    • 接口和他的Mapper配置文件必须在同一包下!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值