SqlMapConfig.xml

<?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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=GMT&amp;allowPublicKeyRetrieval=false&amp;useUnicode=true" />
                <property name="username" value="sa" />
                <property name="password" value="admin" />
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="UserMapper.xml" />
    </mappers>
</configuration> 

全局配置文件(SqlMapConfig.xml) 主要配置的是数据库的环境,数据表和java对象映射关系(sql映射文件)配置路径。

  • environments:配置数据源的环境信息,可以配置多个数据源环境,即可以有多个environment。通过default属性选择其中一个环境信息。
  • environment:数据源的配置环境。id属性是唯一标识,值可以为:development(开发)、test(测试)、produce(生产环境)。
  • transactionManager:事务管理器。type属性是事务类型,值可以为:JDBC(当前mybatis事务管理,使用的是JDBC底层)、MANAGERED(mybatis不管事务,交给第三方框架管理,如:spring)。
  • dataSource:数据源。type属性是连接池类型,值可以为:POOLED(使用数据库连接池,是mybatis自己的)、UNPOOLED(不用mybatis的连接池,交给第三方框架)
  • property:分别包含数据库连接四大配置信息。
  • mappers:映射器。配置的是数据表与java对象的映射关系(sql映射文件)。
  • mapper:具体的映射关系,配置文件的路径。resource属性对应路径。

UserMapper.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.company.mapper.UserMapper">
    <select id="queryUserList" resultType="com.company.pojo.User">
        select * from user
    </select>
    <select id="queryUserByName" resultType="com.company.pojo.User" parameterType="String">
        select * from user where username=#{username}
    </select>
    <select id="queryUserLikeName" resultType="com.company.pojo.User" parameterType="String">
        select * from user where username like #{username}
    </select>
    <insert id="addUser" parameterType="com.company.pojo.User">
        insert user(id,username,password,email,birthday)
        values(#{id},#{username},#{password},#{email},#{birthday})
    </insert>
</mapper>

sql映射文件(UserMapper.xml)

  • mapper:namespace属性是名称空间。namespace+"."+id 能指定唯一sql。
  • select: 配置sql的查询语句。id属性是唯一标识。resultType属性是查询结果集封装对象的类型。parameterType属性是执行sql时需要的参数类型。

 

SqlMapConfig.xml 配置文件通过properties标签可以引入外部的数据库配置属性文件。

db.properties文件

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=GMT&useUnicode=true&allowPublicKeyRetrieval=false
jdbc.username=sa
jdbc.password=admin

SqlMapConfig.xml

<?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属性表示外部文件的路径
        外部文件中的数据优先级高于子标签property中设定的属性
    -->
    <properties resource="db.properties">
        <property name="username" value="root"></property>
    </properties>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <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>
        </environment>
    </environments>

    <mappers>
        <mapper resource="UserMapper.xml" />
    </mappers>
</configuration>    

       使用properties标签来引入外部文件(数据库的属性集),其中resource指明外部文件的路径。当properies标签中含有子标签时,而且外部文件与子标签含有相同的属性,那么外部文件的数据优先级高于子标签property中设定的属性值。通过${属性}来访问外部文件的属性值。

 posted on 2019-07-30 20:22  会飞的金鱼  阅读(107)  评论(0)    收藏  举报