一、简介
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
二、使用
1、如果使用maven来构建项目,需在pom.xml中导入依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
2、从XML中构建SqlSessionFactory
1)在resources目录下创建xml文件:databaseConfig.xml。其中databaseConfig.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">
<!-- 1.加载数据库驱动 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!-- 2.数据库连接地址 -->
<property name="url" value="jdbc:mysql://ip:port/databasesname"/>
<!-- 数据库用户... -->
<property name="username" value="xxxx"/>
<!-- 数据库密码... -->
<property name="password" value="xxx"/>
</dataSource>
</environment>
</environments>
<!-- 注册映射文件:java对象与数据库之间的xml文件路径! -->
<mappers>
<mapper resource="mapper/SQLMappter.xml"/>
</mappers>
</configuration>
2)
//获取配置的资源文件
Reader reader= Resources.getResourceAsReader("databaseConfig.xml");
//构建SqlSessionFactory
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(reader);
3、从SqlSessionFactory中获取SqlSession
SqlSession session = factory.openSession();
try {
Blog blog = (Blog) session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);
} finally {
session.close();
}
那SqlSession和Mapper到底执行了什么操作。
上面提到的例子中,一个语句既可以通过XML定义,也可以通过注解定义。这里先看看XML定义语句的方式这里给出一个基于 XML 映射语句的示例,它应该可以满足上述示例中 SqlSession 的调用。
例子:SQLMappter.xml,所在位置resources/mapper/SQLMappter.xml。对应步骤2中databaseConfig.xml的“<mapper resource="mapper/SQLMappter.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">
select * from Blog where id = #{id}
</select>
</mapper>
三、参考
本文只是对http://www.mybatis.org/mybatis-3/zh/getting-started.html的内容进行简单整理,更多细节和复杂的应用可参考回http://www.mybatis.org/mybatis-3/zh/getting-started.html
————————————————
版权声明:本文为CSDN博主「不进则退2020」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32706349/article/details/89137094