MyBatis 配置文件详解【笔记整理】

MyBatis 配置文件详解【笔记整理】

总述:
路径: src文件夹下【最方便快捷】
配置文件目录:

1.MyBatisConfig.xml
作用:MyBatis的核心配置文件

代码格式:

<?xml version="1.0" encoding="UTF-8" ?> <!-- xml的相关设置  就记忆成固定写法就可以-->

<!-- MyBatis的DTD约束 【固定写法】-->
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

<!-- configuration 核心根标签 [所有的配置项都要在这个根标签的包裹下] -->
<configuration>

    <!-- 引入数据库连接的配置文件【通过jdbc去连接数据库  所以需要提供 数据库的ip地址 端口 账号和密码】 -->
    <properties resource="jdbc.properties"/>

    <!--配置LOG4J  为了打印日志文件-->
    <settings>
        <setting name="logImpl" value="log4j"/>
    </settings>

    <!--起别名   这里是对 映射配置文件中的 resultType和parameterType 中的自定义javaBean类起一个别名 -->
    <!--typeAliases :起别名的根标签,可以包裹多个子标签 -->
    <typeAliases>
        
        <!--单独每一个javaBean类 起别名的方式--> <!--type:包名+类名 【类似导包】--> <!-- alias:自己起的别名-->
        <typeAlias type="com.itheima.bean.Student" alias="student"/>
        
        <!--自定义类 如果放在同一个包下  就直接可以一起起别名  每一个javaBean类的别名 就是自己的类名(小写形式)-->
        <!--name:自定义javaBean所在的包路径-->
        <package name="com.itheima.bean"/>
    </typeAliases>

    <!--environments配置数据库环境,环境可以有多个。default属性指定使用的是哪个-->
    <!-- default:代表的是使用哪个配置来配置数据库的环境-->
    <environments default="mysql">
        
        <!--environment配置数据库环境  id属性唯一标识--><!--不同的 environment 标签 包裹的数据库环境 id一定要保证不一样-->
        <environment id="mysql">
            <!-- transactionManager事务管理。  type属性,采用JDBC默认的事务-->
            <transactionManager type="JDBC"></transactionManager>
            <!-- dataSource数据源信息   type属性 连接池-->
            <dataSource type="POOLED">
                <!-- property获取数据库连接的配置信息 -->
                <!-- 每一项的name 要跟 jdbc.properties中的key保持一致  value固定写法 ${} -->
                <property name="driver" value="${driver}" />
                <property name="url" value="${url}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>

        <!--用来表示environment 标签可以有多个-->
        <environment id="mysql02">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}" />
                <property name="url" value="${url}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>
    
    <!-- mappers引入映射配置文件 -->
    <mappers>
        <!-- mapper 引入指定的映射配置文件   resource属性指定映射配置文件的名称 -->
        <!--mapper 配置文件 主要是用来配置相关的sql语句 -->
        <mapper resource="StudentMapper.xml"/>
    </mappers>
    
</configuration>

2.StudentMapper.xml
a:作用:配置相关的sql语句

b:引入核心配置文件的代码格式:
mapper引入核心配置文件的代码格式
c:mapper中代码写法:

<?xml version="1.0" encoding="UTF-8" ?>

<!--MyBatis的DTD约束 【固定写法 记住就可以了】-->
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- mapper:核心根标签 -->
<!-- namespace属性:名称空间(属性空间类似于 tomcat中的虚拟目录 ,多个mapper配置文件 是通过namespace区分的)-->
<mapper namespace="StudentMapper">
    <!--
        id属性:唯一标识(多条 同类型 sql语句的唯一标识 )
        resultType属性:指定结果映射对象类型
        parameterType属性:指定参数映射对象类型
    -->
    <!--select:查询功能的标签 -->
    <select id="selectAll" resultType="student">
        SELECT * FROM student
    </select>
    <!--resultType 可以直接使用类名(小写格式) 而不是使用 包名+类名  是因为核心配置文件中 有typeAliases标签 进行了起别名的设置-->
    <!--parameterType 可以使用 int 是因为框架底层进行了类型转换 实际应该是Integer类型-->
    <!--框架底层实现的都是jdk中的类 而核心配置文件中需要单独起别名设置的 是自定义类 与 是否是resultType和parameterType无关-->
    <select id="selectById" resultType="student" parameterType="int">
        SELECT * FROM student WHERE id = #{id}
    </select>
    <!--添加数据的写法  注意标签是 insert -->
    <!-- #{ 对应javaBean中的属性名 }  这个是引入数据的固定写法 不能变 -->
    <insert id="insert" parameterType="student">
        INSERT INTO student VALUES (#{id},#{name},#{age})
    </insert>
    <!--修改一条数据的写法  注意标签是 update -->
    <update id="update" parameterType="student">
        UPDATE student SET name = #{name},age = #{age} WHERE id = #{id}
    </update>
    <!--删除一条数据的写法 注意标签是 delete-->
    <delete id="delete" parameterType="int">
        DELETE FROM student WHERE id = #{id}
    </delete>
</mapper>

3.jdbc.properties
作用:配置连接数据库的相关配置:driver、url、username、password

代码格式:

driver=com.mysql.jdbc.Driver   
url=jdbc:mysql://192.168.23.129:3306/day15_JDBC
username=root
password=xinglu

JDBC配置文件中各部分配置的是什么:
JDBC配置文件解释
JDBC 引入核心配置文件中的格式:
JDBC 引入核心配置文件中的格式
4.log4j.properties
作用:增加日志功能
代码格式:
【全部都是固定写法,用的时候直接复制粘贴就可以】

# Global logging configuration
# ERROR WARN INFO DEBUG
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

log4j配置文件引入核心配置文件中的格式:
log4j 引入核心配置文件中的格式
Mybatis默认对基础类型包装类提供的别名【底层自动转换】

别名数据类型
Stringjava.lang.String
longjava.lang.Long
intjava.lang.Integer
doublejava.lang.Double
booleanjava.lang.Boolean
基本数据类型基本数据类型的包装类
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值