Mybatis的配置流程

117 阅读1分钟

Mybatis中SqlMapConfig的配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--引入外部配置文件-->
    <properties resource="jdbcConfig.properties"></properties>
    <!--配置别名-->
    <typeAliases>
        <package name="com.it.domain"></package>
    </typeAliases>
<!--    配置环境-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver"></property>
                <property name="url" value="${jdbc.url"></property>
                <property name="username" value="${jdbc.username"></property>
                <property name="password" value="${jdbc.password"></property>
            </dataSource>
        </environment>
    </environments>
    <!--指定带有注解的dao接口所在位置-->
    <mappers>
        <package name="com.it.dao"/>
    </mappers>
</configuration>

在做测试类时候配置类的两个小错

1.最新的driver要这样写

jdbc.driver=com.mysql.cj.jdbc.Driver

2.The server time zone value '�й���׼ʱ��' is unrecogni... 解决方案:

将jdbc.url=jdbc:mysql://localhost:3306/mybatis
改为jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
PLus:因为插入有乱码所以要改为如下完整版:jdbc.url=jdbc:mysql://localhost:3306/mybati?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC 

Mybatis注解开发

@Select("select * from user")
    List<User> findAll();

    @Insert("insert into user(username,address,sex,birthday)values(#{username},#{address},#{sex},#{birthday}")
    void saveUser(User user);
}

二级缓存的开启

在SqlMapCon.xml配置文件中添加

<!--    开启二级缓存-->
    <settings>
        <setting name="cacheEnabled" value="true"/>
    </settings>

在所需的Dao类的头部中添加前添加,

@CacheNamespace(blocking = true)