Mybaits入门到精通-3、MyBatis配置文件

来源:互联网 发布:linux 复制重命名 编辑:程序博客网 时间:2024/05/22 10:43

3.1、核心配置文件

​ 在classpath下,创建mybatis.xml文件,该文件为核心配置文件,可以配置当前环境信息,加载映射文件,加载properties文件,配置全局参数,定义别名等。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <!-- 加载properties文件         先加载property子标签的内容,后加载properties文件            如果名称相同,后边覆盖前边内容    -->    <properties resource="jdbc.properties">        <property name="jdbc.password" value="12345"/>    </properties>        <!-- 全局参数配置:二级缓存,延迟加载     <settings></settings>    -->        <!-- 定义别名 -->    <typeAliases>        <!-- 给单个的类起别名         <typeAlias type="com.qf.domain.User" alias="user"/>        -->                <!-- 给指定包下的类起别名             别名的定义规则:类名首字母小写        -->        <package name="com.qf.domain"/>    </typeAliases>        <!-- 配置mybatis的环境信息 -->    <environments default="development">        <environment id="development">            <!-- 配置JDBC事务控制,由mybatis进行管理 -->            <transactionManager type="JDBC"></transactionManager>            <!-- 配置数据源,采用mybatis连接池 -->            <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="User.xml"/>        <!-- <mapper resource="com/qf/mapper/User.xml"/> -->                <!--            使用资源的绝对路径         <mapper url=""/> -->                  <!--             Mapper接口的全类名            要求:Mapper接口的名称与映射文件名称一致                必须在同一个目录下         <mapper class="com.qf.mapper.UserMapper"/>         -->                  <!-- 加载某个包下的映射文件 (推荐)            要求:Mapper接口的名称与映射文件名称一致                必须在同一个目录下         -->         <package name="com.qf.mapper"/>    </mappers></configuration>

3.2、映射文件

​ 在指定的目录下创建映射文件,配置要执行的statement,即增删改查等语句。

<?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:配置名称空间,对配置的statement进行分类管理        此时名称可以任意        当使用Mapper代理时,namespace具有特殊的含义与功能 --><mapper namespace="test">    <!--     根据id查询用户,User findById(int id)        select:配置查询语句            id:可以通过id找到执行的statement,statement唯一标识            parameterType:输入参数类型            resultType:输出结果类型                        #{}:相当于占位符            #{id}:其中的id可以表示输入参数的名称,如果是简单类型名称可以任意     -->    <select id="findById" parameterType="int" resultType="com.qf.domain.User" >        select * from user where id=#{id}    </select>        <!--     根据用户名称来模糊查询用户信息列表;        ${}:表示拼接sql语句        ${value}:表示输入参数的名称,如果参数是简单类型,参数名称必须是value     -->          <select id="findByUsername" parameterType="java.lang.String"        resultType="com.qf.domain.User">        select * from user where username like '%${value}%'      </select>          <!-- 3、添加用户        #{username}:名称与类中的属性名一致      -->      <insert id="addUser" parameterType="com.qf.domain.User">                <!--             selectKey:查询主键                keyProperty:主键对应的属性名称                resultType:结果类型,主键的类型                order:在插入记录的之前或之后查询主键的值                                select last_insert_id()                    mysql提供 的函数,与insert语句搭配使用,查询主键         -->        <selectKey keyProperty="id" resultType="int" order="AFTER">            select last_insert_id()        </selectKey>              insert into user(username,sex,birthday,address)            values(#{username},#{sex},#{birthday},#{address})      </insert>                <!--         删除用户      -->      <delete id="deleteUser" parameterType="int">        delete from user where id=#{id}      </delete>                  <!--         修改用户       -->      <update id="updateUser" parameterType="com.qf.domain.User">        update user set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address}            where id= #{id}      </update></mapper>

原创粉丝点击