Mybatis环境搭建两种方法
- (1)mybatis下载
mybaits的代码由github.com管理
下载地址:https://github.com/mybatis/mybatis-3/releases
(2)导入jar包
测试相关的包: junit hamcrest
日志相关的包:log4j-1.2.16 slf4-api slf4j-log4j12
数据库相关jar包: mysql-connector
Mybatis先关jar包: mybaits-3.4.5 - 在配置文件pom.xml中导入依赖
<dependencies>
<!-- junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- MySql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--日志包-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
Mybatis的操作步骤
- mybatis开发流程
1 创建SqlSessionFactoryBuilder对象
2 创建SqlSessionFactory对象
3 加载SqlMapConfig.xml配置文件
4 创建SqlSession对象
5 执行SqlSession对象执行删除
6 打印结果
7 释放资源
Mybatis的入门案例-Java代码编写
- (1)先获取Session
- (2)再进行增删改查操作
SqlSession sqlSession = MySessionUtils.getSession();
//select * from user where id =1;
UserDao dao = sqlSession.getMapper(UserDao.class);//内部就使用你编写接口来生成代理对象
//代理对象的方法内部 查询sql,并且执行jdbc代码
User user = dao.findById(1);
System.out.println(user);
//定义接口
sqlSession.close();
- 创建session工具包
public class MySessionUtils {
private static SqlSessionFactory sessionFactory;
//static 静态代码,在类加载的时候执行一次,且只执行一次
static{
// 》1 创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 》2 创建SqlSessionFactory对象
InputStream inputStream = MySessionUtils.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml");
sessionFactory = sqlSessionFactoryBuilder.build(inputStream);//加载核心配置文件 参1 输入流
// 》3 加载SqlMapConfig.xml配置文件
}
public static SqlSession getSession() {
// 》4 创建SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
return sqlSession;
}
}
UserDao创建方法
public User findById(int id);
UserDao.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">
<!--
使用代理以后 当前的映射文件要与接口同名,并且放在同一个位置
使用代理以后 namespace要求写接口的全类名 包名+类名=全类名
UserDao-->
<mapper namespace="com.wxx.dao.UserDao">
<!-- 使用代理以后id必须是方法名-->
<select id="findById" parameterType="int" resultType="com.wxx.bean.User">
select * from user where id =#{id};
</select>
</mapper>
SqlMapConfig.xml配置映射文件
```xml
<!-- 配置多个映射文件-->
<mappers>
<mapper resource="UserMapper.xml"/>
<mapper resource="UserDao.xml"/>
</mappers>