> 本文章提供给作者记录mybatis配置过程,不涉及高级知识,仅做参考。
文件结构
为了防止读者不明白文件创建位置,先提供文件总体结构,读者可以在不明白作者文件创建位置时返回此处查看
数据库准备
导入依赖
官网入口。根据官网【入门】找到依赖
第一个mybatis依赖(可在上述官网找到)
第二个mysql驱动依赖(在maven仓库找到)
第三个junit测试依赖
配置mybatis数据源,注意此处仅配置数据源,未全部配置完成
- 在resources创建一个配置xml文件,名称自定,例如:mybatis-config.xml
写下配置内容,如下 配置内容可在官网获取
<?xml version="1.0" encoding="UTF-8" ?>
<!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="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--这里写映射文件,此处先忽略-->
</mappers>
</configuration>
如上,需要配置的内容有数据库驱动、数据库url、用户名和密码,例如,这是我的:
创建结果映射类
这一步是为了给查询结果创建类,比如我的library数据库中,表books有三列:id, title.author,这时候需要创建一个数据类型及名称与其对应的类,用于查询结果映射。
如图:
创建执行语句的接口
这里是为了将查询的方法映射到接口上,例如查询所有的方法叫做selectAll,此时我们创建一个叫做BookMapper的接口,写上这个方法,其次,返回值为List<Book>。因为查询结果是Book类型的结果集。
如图:
创建映射配置文件
这里是为了将mysql语句映射到上述接口,可以在官网获取配置内容,如下:
<?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">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
配置文件需要修改的是namespace和他的子元素<select>:
namespace:修改为接口的引用(可以通过IDEA右键接口文件选择‘复制路径/引用’来快速复制,)
例如我的:BookMapper
<select> 这个是查询语句的意思,更多类型语句请查看官网
- id:对应接口的方法名,例如我的:selectAll
- resultType: 对应单个查询结果的类型,虽然查询的最终结果是Book的List类型,但是对于单个结果,其仍然为Book类型。
- 查询语句 我的就是 select * from books
例如我的映射配置文件:
注意:这个配置文件尽量与上述映射接口同名,例如映射接口名为BookMapper.java,那么映射配置文件应为BookMapper.xml
配置mybatis配置文件
这个文件已经创建了,因此只需要加入语句配置即可。
需要配置的内容为底下的<mapper>
resource的内容填写上述映射配置文件的引用地址
因为博主的映射配置文件和mybatis配置文件在同一个文件夹下,因此只需要映射配置文件的名称即可
---------------------------------------------------------------------------------------------------------------------------------
现在所有的配置文件配置已经完成,但是在执行语句之前,还需要构建SqlSessionFactory,简单来说就是我们执行语句是靠他来实现的
构建SqlSessionFactory
构建代码如下
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
需要修改的内容只有resource,内容应该为上述mybatis配置文件的引用,
例如我的:mybatis-config.xml, 因为博主的配置文件夹直接放在了resources文件夹下,所以只有文件名
配置完成如图,代码文件命名无要求:
- 讲一下getSqlSession方法:它用于获取一个SqlSession实例,而我们的语句是靠他来执行。
到此,所有的所有都配置完成,可以开始执行语句了
测试
输出内容: