MyBatis——在IDEA中配置mybatis框架
Posted 红颜莫知己
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis——在IDEA中配置mybatis框架相关的知识,希望对你有一定的参考价值。
Mybaties简介
mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身, 而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。
mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。
采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。
用IDEA搭建Mybatis项目
添加依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
创建SqlMapConfig.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>
<!-- 配置 mybatis 的环境 -->
<environments default="mysql">
<!-- 配置 mysql 的环境 -->
<environment id="mysql">
<!-- 配置事务的类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置连接数据库的信息:用的是数据源(连接池) -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/cms"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
创建测试类
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
public class MybatisTest {
/**
* 创建mybatis工厂
*/
//创建连接(会话)
SqlSession sqlSession = null;
@Before
public void createSession(){
try {
//读取配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//创建SqlSessionFactory的构建者对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//创建SqlSessionFactory工厂
SqlSessionFactory factory = builder.build(in);
sqlSession = factory.openSession();
} catch (IOException e) {
e.printStackTrace();
}
}
@After
public void closeSession(){
if (sqlSession != null) sqlSession.close();
}
@Test
public void test1(){
}
这里ibatis其实就是mybatis,mybatis以前就叫ibatis,只是包的名字并没有改
- @Before注解意义就是,不论执行哪个测试类,都会先执行@Before下的方法,我们将创建连接的代码放在外面,否则每次测试都要创建一个连接,你电脑会崩掉的
- @After注解意义就是,测试类执行后在执行,我们的@After下执行方法是,关闭连接,但不是真正的关闭,只是放在工厂的连接池中,下次使用,直接从连接池中取出,当然我们虚拟机关闭的时候它就肯定关闭了
若有误,请指教!!!
以上是关于MyBatis——在IDEA中配置mybatis框架的主要内容,如果未能解决你的问题,请参考以下文章