搭建Mybatis核心配置文件和mapper接口和映射文件
核心配置文件
习惯上命名为mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求。
将来整合Spring 之后,这个配置文件可以省略,所以大家操作时可以直接复制、粘贴。
核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息
核心配置文件存放的位置是src/main/resources目录下
核心配置文件的内容,去官方文档可以找到相关的内容复制。
<?xml version="1.0" encoding="UTF-8" ?>
<!--xml约束规定当前配置文件中使用哪些标签-->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置连接数据库的环境 -->
<environments default="development">
<environment id="development">
<!-- 事务管理器 -->
<transactionManager type="JDBC"/>
<!-- 数据源:管理数据库连接 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm?serverTimezon=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 通过读取核心配置文件,获取操作数据库对象,就可以直接执行sql,sql语句在映射文件中,
所以一定要把当前映射文件配置到核心配置文件中,才可以加载核心配置文件找到相对应映射文件中的sql去执行,所以要引入mybatis的映射文件。
-->
<mappers>
<mapper resource="映射文件"/>
</mappers>
</configuration>
创建mapper接口
MyBatis中的mapper接口相当于以前的dao。
但是区别在于,mapper仅仅是接口,不需要 提供实现类,
可以通过mybatis一些功能为它创建代理式实现类,当我们去调用接口中的方法,
就可以直接帮助我们对应一个sql语句来执行这个sql语句。
接口起名:例如:一个表名t_user,当前对应实体类叫做User类,mapper接口叫做UserMapper。
创建MyBatis的映射文件
一个mapper接口对应一个映射文件中的sql语句
映射文件命名规则:和mapper接口最好同名。
mybatis一些对应关系:一张表对应一个实体类对应当前mapper接口对应映射文件。
mapper接口的方法对应的是映射文件中的sql语句。
映射文件的内容,去官方文档可以找到相关的内容复制。
如何执行一个sql语句:
保证两个一致:①映射文件的namespace要和mapper接口全类名保持一致
②mapper接口中的方法名要和映射文件中的sql的id保持一致
注意:mybatis面向接口编程,调用接口中的方法,
就可以对应sql语句执行,前提一定要保证两个一致
<?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接口全类名保持一致-->
<mapper namespace="......">
<!-- 这里面写的就是查sql语句-->
<!-- id和接口中的方法名一致 -->
<insert id="..."></insert>
....
</mapper>
当我们去调用mapper接口中的方法,就会跟据Mapper接口的全类名来找到映射文件,
在根据当前调用的接口方法名找到当前sql语句,获取标签中的sql,执行这个sql语句。
(每次调用mapper接口中的方法,就可以直接找到映射文件中的sql语句执行)。
如果创建了映射文件,一定要把映射文件引入到当前的核心配置文件中(在核心配置文件中引入)。