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:引入核心配置文件的代码格式:
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 引入核心配置文件中的格式:
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配置文件引入核心配置文件中的格式:
Mybatis默认对基础类型包装类提供的别名【底层自动转换】
别名 | 数据类型 |
---|---|
String | java.lang.String |
long | java.lang.Long |
int | java.lang.Integer |
double | java.lang.Double |
boolean | java.lang.Boolean |
… | … |
基本数据类型 | 基本数据类型的包装类 |