Mybatis主配置文件的属性

主配置文件的属性 :

设置mybatis输出日志 :(重复之前)

setting是mybatis的全局设置

它可以指定很多的name ,以及对应的值

<settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

定义别名 :(重复之前)

<!--定义别名-->
    <typeAliases>
        <!--
        可以指定一个类型 , 一个自定义别名
        type : 自定义类型的全限定名称
        alias : 自定义的别名
        -->
        <typeAlias type="org.sichen.domain.QueryParam" alias="qp"/>
        <typeAlias type="org.sichen.domain.Student" alias="stu"/>
        <!--指定package标签 , 该文件夹下的所有类的名称就是别名-->
        <package name="org.sichen.domain.Student"/>
    </typeAliases>

环境变量的设置 :(了解)

<environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--
				transactionManager : 提交事务 , 回滚事务的方式
				type : 事务处理的类型
     (1)JDBC 表示mybatis底层是调用JDBC中的Connection对象 , commit ,rollback
(2)MANAGED	: 把mybatis的事务处理委托给其他的容器(可以是一个服务器软件 , 或者框架(Spring))			
			-->
            <dataSource type="POOLED">
 <!--
	dataSource : 表示数据源 , Java体系中 , 规定实现了javax.sql.DataSource接口的都是数					据源
		数据源 : 表示Connection对象的
	type : 指定数据源的类型 
		(1)POOLED : 使用连接池 , mybatis会创建PooledDataSource类
		(2)UNPOOLED : 不使用连接池 , 在每次执行sql语句时 , 先创建连接 , 执行sql ,在关					闭连接
 			mybatis会创建一个UnPooledDataSource , 管理Connection对象的使用
		(3)JNDI : java的命名和目录服务 , (相当于windows的注册表)
-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="acpl159357"/>
            </dataSource>
        </environment>
    </environments>

数据库属性配置文件:(重要)

把数据库连接信息放到一个单独的文件中 , 和mybatis主配置文件分开 , 目的是便于修改 , 保存 , 处理多个数据库的信息

(1) 在Sources 目录中定义一个属性配置文件 , xxx.properties

​ 在属性配置文件中 , 定义数据 , 格式是 key = value

​ key : 一般使用 . 做多级目录的

例如 : jdbc.mysql.Driver = com.mysql.cj.jdbc,Driver

jdbc.url = jdbc:mysql:// …

这么做的目的是 : 使结构更加清晰 , 能够一眼看出哪几个是一起的

(2) 在mybatis的主配置文件 , 使用 指定文件的位置

在需要值的地方 , ${key}

<configuration>
    <!--指定properties文件的位置 , 从类路径根开始找文件-->
    <properties resource="jdbc.properties"/>
</configuration>

<!--driver : 数据库的驱动类名-->
<property name="driver" value="${jdbc.Driver}"/>
<!--连接数据库的url字符串-->
<property name="url" value="${jdbc.url}"/>
<!--访问数据库的用户名称-->
<property name="username" value="${jdbc.user}"/>
<!--访问数据库的用户密码-->
<property name="password" value="${jdbc.password}"/>

指定多个mapper文件:

第一种方式 : 就是上边有的 , 每指定一个文件 , 写一个mapper

第二种方式 : (使用包名)

name是你的mapper文件所在的包的包名全限定名称 ,

在这个包下的所有mapper文件 , 都能够被一次性加载进mybatis

**注意 : **

  • mapper 文件名称必需要和接口名称一样 , 区分大小写
  • mapper文件和 dao接口必须在同一目录之中
<mappers>
	<package name="">
</mappers>

typeHandlers 标签 : 自定义类型处理器

首先要编写数据类型的转换器类 ,

public class TypeHandler extends BaseTypeHandler<Date> {
    //将java类型 转换为 数据库需要的类型
    @Override
    public void setNonNullParameter(PreparedStatement ps, int i, Date parameter, JdbcType jdbcType) throws SQLException {
        long time = parameter.getTime();
        ps.setLong(i,time);
    }
    //将数据库中类型转换为java类型
    //ResultSet : 查询出的结果集
    //String : 要转换的字段名称
    @Override
    public Date getNullableResult(ResultSet rs, String columnName) throws SQLException {
        return null;
    }
    //将数据库中类型转换为java类型
    @Override
    public Date getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
        return null;
    }
    //将数据库中类型转换为java类型
    @Override
    public Date getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
        return null;
    }

然后在MyBatis核心配置文件中注册类型处理器

<typeHandlers>
    <typeHandler class="自定义数据转换类型的全限定名称">
    </typeHandler>
</typeHandlers>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值