Mabatis框架
概念:
1 、mybatis就是一个封装来jdbc的持久层框架,它和hibernate都属于ORM框架,但是具体的说,hibernate是一个完全的orm框架,而mybatis是一个不完全的orm框架;
2 、Mybatis让程序员只关注sql本身,而不需要去关注如连接的创建、statement的创建等操作。
3、 Mybatis会将输入参数、输出结果进行映射。
安装:
可在https://github.com/mybatis/mybatis-3/releases下载jar包,再将jar包配置到classpath中。
若用maven创建工程,需要将以下代码配置到pom.xnl中:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
配置文件:
现在在核心配置文件中构建SqlSessionFactory:
<?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>
<!--
mybatis的核心配置文件
1.数据库的连接信息(连接池)
-->
<properties resource="jdbc.properties"></properties>
<environments default="development">
<environment id="development">
<!-- 事务管理器 默认使用jdbc事务 -->
<transactionManager type="JDBC"/>
<!-- 默认连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${driverClass}"/>
<property name="url" value="${url}"/>
<property name="username" value="${userid}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 指定映射sql语句路径 -->
<mappers>
<mapper resource="cn/et/lession01/Mapper.xml"/>
</mappers>
</configuration>
然后构建主方法:
public static void main(String[] args) throws Exception {
// 指定核心配置文件的位置
String resource = "cn/et/lession01/mybatis.xml";
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
// SqlSessionFactoryBuilder构建工厂类
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 工厂类获取SqlSession实例
SqlSession session = sqlSessionFactory.openSession();
//session操作的是 指向sql语句的唯一标识符
List list = session.selectList("selectFood");
System.out.println(list);
Object one = session.selectOne("selectFoodById");
System.out.println(one);
}
最后是执行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">
<!--命名空间: 用于区分多个文件中相同的Id,必须要指定-->
<mapper namespace="a">
<select id="selectFood" resultType="java.util.Map">
select * from food
</select>
<select id="selectFoodById" resultType="java.util.Map">
select * from food where foodid=2
</select>
</mapper>
本读书笔记参考了TeaGzYh博主的部分内容。
博主原文链接:https://blog.csdn.net/sinat_39955521/article/details/79122291