Mybatis的开发步骤
官网入门手册中说明如下:
- 创建项目
- 加入依赖
- 执行SQL
- XML
XML 配置文件
中包含了对MyBatis 系统的核心设置
,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)- 获得SqlSessionFactoryBuilder
- 获得SqlSessionFactory
- 获得SqlSession
- 执行SQL
自己确定开发步骤
- 确定表结构和数据
- 创建项目,加入依赖
- 确定实体类
写mybatis核心配置文件
写Mapper接口
写Mapper接口对应的映射文件XML
核心配置文件,加载映射文件
- 通过核心配置文件,获得SqlSessionFactoryBuilder
- 通过SqlSessionFactoryBuilder 获得 SqlSessionFactory
- 通过SqlSessionFactory获得SqlSession
- SqlSession获得接口文件的代理对象
通过代理对象调用方法执行
1、mybatis核心配置文件
名字: 名称任意,一般有这么几种: sqlconfing.xml或者mybatis-config.xml
等
位置:resources下
内容:(第一次从官网拷贝)
点击查看代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://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.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/database_name"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- TODO 加载映射文件 -->
</mappers>
</configuration>
2、Mapper接口文件
3、Mapper对应的XML文件
<select/update/delete/insert >
单元测试
以前测试代码,都需要创建主方法,但是一个主方法只能完成一个功能! 再有新功能,就需要抽取方法,再继续再main方法中再写 --->这些写很麻烦
测试,就可以使用单元测试来测试代码,每个方法都可以独立执行
,还可以抽取一些公用代码,减少重复
增删改查
增加之后主键回填
点击查看代码
<selectKey keyProperty="id" order="AFTER" resultType="int">
select last_insert_id()
</selectKey>
细节补充
1 解决mapper.xml存放在resources以外路径中的读取问题
Mapper.xml文件除了放在resources下,也可以放在其他位置,常见的会和接口放在一起
但是,IDEA默认不会加载这个UserMapper.xml,需要在POM.xml加入如下配置
在pom.xml文件最后追加< build >标签,以便可以将xml文件复制到classes中,并在程序运行时正确读取。
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*.xml</include><!-- 默认(新添加自定义则失效) -->
<include>**/*.xml</include><!-- 新添加 */代表1级目录 **/代表多级目录 -->
</includes>
<filtering>true</filtering>
</resource>
</resources>