本文仅简单介绍MyBatis,以官方为准,不涉及spring框架相关
通过导入mybatis-x.x.x.jar
包来引入MyBatis,或者使用maven进行导入。
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
在MyBatis中,有SqlSessionFactoryBuilder,SqlSessionFactory,SqlSession,映射器实例类四个较为核心的类。
参考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>
<mapper resource="org/mybatis/example/BlogMapper.xml"/><!--数据库接口定义XML-->
</mappers>
</configuration>
数据库接口XML文件:
<?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"><!--数据库查询语句设置,设置ID还有返回类型-->
select * from Blog where id = #{id}<!--SQL语句,使用#{}进行参数填充,可以为具体的名称或者是变量输入顺序-->
</select>
</mapper>
XML解析及对象创建代码
String resource = "org/mybatis/example/mybatis-config.xml";#设置XML文件路径
InputStream inputStream = Resources.getResourceAsStream(resource);#通过Resources类解析XML类参数
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);#创建工厂类
如下列示例代码:
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();#获取数据源,例如数据库驱动、url和用户名密码之类
TransactionFactory transactionFactory = new JdbcTransactionFactory();#获取jdbc事物工厂对象
Environment environment = new Environment("development", transactionFactory, dataSource);#创建Mybatis命名空间
Configuration configuration = new Configuration(environment);#将命名空间加入配置类中
configuration.addMapper(BlogMapper.class);#在配置类中添加数据库映射
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);#使用配置文件构建工厂类
try (SqlSession session = sqlSessionFactory.openSession()) {#开启会话
BlogMapper mapper = session.getMapper(BlogMapper.class);#获取接口
Blog blog = mapper.selectBlog(101);#进行查询
}
原文:https://www.cnblogs.com/CoveredWithDust/p/12163031.html