Mybatis
1.下载并添加Mybatis依赖
2.添加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>
<settings>
<!-- 日志 -->
<setting name="logImpl" value="LOG4J" />
</settings>
<!-- 配置mybatis运行环境 -->
<environments default="development">
<environment id="development">
<!-- 使用JDBC的事务管理 -->
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<!-- MySQL数据库驱动 -->
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<!-- 连接数据库的URL -->
<property name="url"
value="jdbc:mysql://localhost:3306/mybatis?charset=utf8mb4&useSSL=false&useTimezone=true&serverTimezone=GMT%2B8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<!-- 将mapper文件加入到配置文件中(mapper中放置这数据库操作) -->
<mappers>
<package name="com.mapper"/>
</mappers>
</configuration>
3.获取SqlSession实例对象
- 获取 SqlSessionFactoryBuilder对象,可以根据 XML 配置文件构建该对象。
- 通过 SqlSessionFactoryBuilder对象来获取 SqlSessionFactory 对象。
- 获取 SqlSessionFactory 对象之后,就可以进一步获取 SqlSession 实例。
//工厂的建筑者 ————> 一个小sb🐷
SqlSessionFactoryBuilder sb = new SqlSessionFactoryBuilder();
//砖🧱通过河流运输给sb🐷,砖🧱是一种资源(Resources)需要去”配置文件“获取
InputStream config = Resources.getResourceAsStream("mybatis-config.xml");
//小sb🐷 ————> 盖了一所工厂🏭(拿砖🧱盖工厂🏭️)
SqlSessionFactory sf = sb.build(config);
//工厂🏭完工,小sb🐷的儿子‘傻傻’,召开员工会话
SqlSession ss = sf.openSession();
4.获取接口的映射对象+执行映射操作
//假设定义了一个如下的 usermapper 接口:
public interface UserMapper {
User getUser(@Param("userId") String userId);
}
//方法一
//获取映射对象+执行映射操作
User user = ss.select("UserMapper.getUser", String userId);
//方法二
//获取映射对象
UserMapper usermapper = ss.getMapper(UserMapper.class);
//执行映射操作
User user = usermapper.getUser(1);
Mybatis+Spring
1.在pom.xml注入坐标
2.在Spring Xml配置文件中,添加mybatis Xml配置文件对应的操作
1.连接数据库
2.创建工厂
3.根据包名加载配置文件
<!--数据源:连接数据库-->
<bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource" >
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT"></property>
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>
<!--使用 SqlSessionFactoryBean 来创建工厂-->
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="factoryBean">
<property name="dataSource" ref="dataSource"></property>
<!--mybatis主配置文件(已在Spring中创建则无需注入mybatis.xml)-->
<!-- <property name="configLocation" value="classpath:mybatis.xml"></property>-->
</bean>
<!--将dao包下的文件加入到Spring配置文件中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" id="configurer">
<property name="basePackage" value="com.dao"></property>
</bean>
3.获取ApplicationContext实例对象
ApplicationContext context = new ClassPathXmlApplicationContext("Application.xml");
4.获取控制层接口对象+执行对应方法
Controller controller = (ControllerImp) context.getBean("ControllerImp");