4.mybatis中config文件和mapper文件配置

4.config文件

<?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 类型的配置文件, 通过 ${key} 获取其值
    resource 属性的值是 properties配置文件相对src的地址
    -->
    <properties resource="datasource.properties" ></properties>

    <!-- 配置类的别名, 方便在mapper文件中使用该类型 -->
    <typeAliases>
        <!-- typeAlias 配置一个类的别名
        type 当前类的全名, alias 当前类的别名
        -->
        <!--<typeAlias type="com.itany.ms.entity.User" alias="user"></typeAlias>-->

        <!-- package 为当前包中的所有类配置别名,此时包中类的别名就是其简单类名 -->
        <package name="com.itany.ms.entity"></package>
    </typeAliases>

    <!-- mybatis的多个配置环境 -->
    <!-- default的值是 具体的 环境的id, 表示当前使用该环境的配置 -->
    <environments default="abc">
        <!-- environment 表示一个连接的相关信息,id 是其标识符,自定义的,不能重复。 -->
        <environment id="abc">
            <!-- transactionManager 事务管理器
            type的值:
                JDBC: 使用jdbc的方式管理事务, mybatis依赖Connection对象管理事务
                MANAGED: 表示 mybatis将不再关心事务,此时事务将交由其他的容器(框架)管理(spring)
            -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- dataSource 配置数据源信息/数据库连接信息
            type的值:
                POOLED: 连接池,使用连接池技术管理Connection
                UNPOOLED: 不使用连接池,每次访问都是新的连接
                JNDI: 表示向其他容器(框架) 获取连接对象Connection
            -->
            <dataSource type="POOLED">
                <!-- property 配置连接信息
                name的值是连接信息的参数名, value是参数值
                -->
                <property name="url" value="${url}"></property>
                <property name="driver" value="${driver}"></property>
                <property name="username" value="${username}"></property>
                <property name="password" value="${password}"></property>
            </dataSource>
        </environment>
        <environment id="qwe">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="url" value="jdbc:mysql://localhost:3306/shopping?useUnicode=true&amp;characterEncoding=utf8"></property>
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="username" value="root"></property>
                <property name="password" value=""></property>
            </dataSource>
        </environment>
    </environments>

    <!-- 配置多个映射 -->
    <mappers>
        <!-- resource的值是 mapper配置的相对src的路径 -->
        <mapper resource="com/itany/ms/mapper/UserMapper.xml" ></mapper>

        <!-- 如果使用的是注解,则使用class属性,其值是dao接口的全名 -->
        <!--<mapper class="com.itany.ms.dao.UserDao" ></mapper>-->
    </mappers>
</configuration>

5.mapper文件

<?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">
<!-- namespace
    是当前mapper文件的唯一标识符,不能重复。
    1.值可以随意写
        使用mapper中的内容时:
        sqlSession.标签名("namespace值" + "." + "标签的id值");
        以此方式执行对应标签中的sql
    2.是dao接口的全名(常用)
        接口实现类的对象 = sqlSession.getMapper(dao接口的全名.class);
        通过该对象调用其中的方法,会执行对应的标签中的sql
-->
<mapper namespace="com.itany.ms.dao.UserDao">
    <!--
    配置可重用的sql片段。
    通过 <include refid="baseSql" ></include> 把此处中的sql片段 引入到指定位置
    -->
    <sql id="baseSql" >
        name,pwd,age
    </sql>
    <sql id="whereSql">
        where name = #{name} and pwd = #{pwd}
    </sql>

    <!--
    常用操作标签 insert,update,delete,select
    标签的属性
        id值:
            1.随意写,不能重复
                调用时的方式是 namespace 1 中的方式
            2.对应接口中的方法名,方法名不能重复(接口中的方法不能重载)
                使用:在获得到接口实现类对象后,直接以方法名调用。
        parameterType 方法参数类型, 可以省略
    -->
    <insert id="insertUser">
        insert into t_user
        (<include refid="baseSql" ></include>)
        values
        ('abc1', '123', 22)
    </insert>
    <!--
    select 标签特有的属性:
        resultType: 表示返回值类型(或者返回的集合中的泛型)
        resultMap: 表示不使用自动映射,按照配置的映射进行数据封装(不能与resultType一起使用)
    -->
    <select id="selectAll" resultType="com.itany.ms.entity.User">
        select id,<include refid="baseSql" ></include> from t_user
    </select>
    <select id="selectById" resultType="com.itany.ms.entity.User" >
        select id,<include refid="baseSql" ></include> from t_user where id = #{id}
    </select>
    <select id="selectByNameAndPwd" resultType="com.itany.ms.entity.User" >
        select id,<include refid="baseSql" ></include> from t_user
        <include refid="whereSql" ></include>
    </select>
</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值