Mybatis
1.mybatis框架
Mybatis官网:https://mybatis.org/mybatis-3/zh/
SSM : 学习顺序 mybatis-->spring-->springMVC
Hibernate被Mybatis取代了,框架:做好了的半成品框架;
mybatis是优秀的持久层框架,对JDBC进行了封装,免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作;
逆向工程:把数据库中表自动生成对应的bean实体类, mybatis plus就是用逆向工程,可以不写一句 mysql语句,完成对数据的增删改查的所有逻辑,底层还是在利用了sql语句
连接数据库需要url,username,pwd...,通过一个中间文件(XML文件)告诉框架这些连接信息,xml文件就是用于配置信息告诉框架的,(类似于JAVAEE中,webxml文件配置,告诉Tomcat信息的)
所以,配置XML文件---->便于使用Mybatis,经常使用框架都要用xml文件告诉框架我们想做什么
框架由第三方提供,会提供jar包;

2.如何使用Mybatis
2.1Mybatis核心配置文件
核心配置文件--->xml文件,命名无要求,一般叫做:mybatis.xml 或 applicationContext-dao.xml,因为该文件将替换dao层连接配置数据库,一般放在src目录下
3.Mybatis简单搭建
3.1 导入jar包
工程下建包lib,导入两个jar包:
mybatis-3.5.6.jar 和 数据库驱动包 mysql-connector-java-5.1.48.jar,并添加到项目中。
3.2 建核心配置文件
在src目录下--->mybatis.xml 或 applicationContext-dao.xml ---->参考mybatis官网搭建xml文件架构(如图):

----->更改POOLED连接池中的数据,用于连接数据库(以后可以用配置properties文件进行软连接)
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=CST&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
<!-- 扫描sql语句所在的XML文件-->
<mappers>
<mapper resource="com/yd/mybatis/mapper/BookMapper.xml"/>
</mappers>
------>建bean/POJO包,创建与数据库相对应的实体类(例:Book.java),类属性必须和数据库表字段完全相同;
------>建mapper包(相当于原来的dao包),与数据库和bean文件打交道的。创建BookMapper.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="com.yd.mybatis.mapper.BookMapper">
<select id="getByBId" resultType="com.yd.mybatis.bean.Book">
select * from book where BID = 'B001'
</select>
</mapper>
------>主函数测试:
public class Demo {
public static void main(String[] args) {
try {
//加载xml文件
InputStream in = Resources.getResourceAsStream("applicationContext-dao.xml");
//通过xml文件创建工厂类
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//用来发送sql对象
SqlSession session = factory.openSession();
Book book = (Book)session.selectOne("com.yd.mybatis.mapper.BookMapper.getByBId");
System.out.println(book);
} catch (IOException e) {
e.printStackTrace();
}
}
}
其中,Resources类是import org.apache.ibatis.io.Resources;(ibatis是mybatis的前身)
文件之间的关系图:

运行结果:

浙公网安备 33010602011771号