Java EE 企业级应用 复习 MyBatis的核心配置

配置文件的主要元素

<configuration>是根元素

<configuration>的子元素如下

<properties> 该元素的作用是读取外部文件的配置信息,在mybatis-config.xml文件中使用

<typeAliases>  为核心配置文件中的POJO实体类设置一个简短的别名

<environments> 将SQL映射到不同运行环境的数据库中,配数据库

<mappers>引入映射文件

<sql>元素,<resultMap>元素

使用<sql>元素实现可重用的SQL代码片段

<sql>元素的作用是定义可重用的代码片段,可采用<include>元素中的refid属性引用自定义的代码片段,rdfid属性的值为自定义代码片段的id

使用<sql>元素定义可重用的代码片段

<sql id = "usersColumns">${alias}.uid, ${alias}.uname, ${alias}.uage</sql>

使用<include>元素中的refid属性引用自定义的代码片段,使用<property>元素将<sql>元素参数化,<sql>元素中的属性值随包含的对象而发生变化

<select id="findUserById" parameterType="Integer" resultType="com.itheima.pojo.User">
    select <include refid="userCoulumns"/>
    <porperty name="alias" value="t1">
    from users
    where uid = ${uid}
</select>

示例:依据客户id查询客户信息的SQL片段

<!--定义要查询的表-->
<sql id = "someinclude">   
    from
    <include refid="${include_target}"/>
</sql>
<!--定义查询列-->
<sql id = "userColumns">
    uid, uname, uage
</sql>
<!--根据客户id查询客户信息-->
<select id = "findUserById" parameterType="int" resultType="com.ithiema.pojo.User">
    select
    <include refid="userColumns"/>
    <include refid="someinclude"/>
        <property name="include_target" value="users"/>
    </include>
    where uid = #{uid}
</select>

<resultMap>元素

<resultMap>元素表示结果映射集,主要作用是定义映射规则,更新级联和定义类型转化器

使用情况:当数据表中的列和需要返回的对象的属性可能不完全一致时,MyBatis不会自动赋值,这时就需要使用<resultMap>元素进行结果集映射

StudentMapper.xml

<mapper namespace="com.itheima.pojo.Student">
    <resultMap id="studentMap" type="com.itheima.pojo.Student">
        <id property="id" column="sid"/>
        <result property="name" column="sname"/>
        <result property="age" column="sage"/>
    </resultMap>
    <select id="findAllStudent" resultMap="studentMap">
        select* from t_student
    </select>
</mapper>

@Before @Tset @After

@Before注解用于初始化,每个测试方法都要执行一次init()方法

@After注解标注的方法在每个方法执行完后都要执行一次

@Test,每一个用@Test标注的方法称为测试方法,它们调用的顺序是@Before->@Test->@After

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值