MyBatis随堂笔记
1.MyBatis介绍
Mybatis由来:
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
Mybatis的特点:
Mybatis是一个优秀的持久层框架,它对使用JDBC操作数据库的过程进行了封装,使开发者只关注SQL语句本身,不需要花费精力去处理例如注册驱动、创建connection等jdbc繁杂的过程
Mbatis在哪写sql语句呢?如何设置sql参数和封装查询结果?
Mybatis 通过xml或注解的方式,讲要执行的各种statement 配置起来,并通过java对象和statement中的sql进行映射,生成最终的sql语句,最后由Mybatis执行sql语句并将结果映射返回
二、环境搭建
步骤:
①:创建JAVA文件并导入坐标
org.mybatis mybatis 3.4.5 <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!--...-->
</dependencies>
②:创建实体类和Mapper的接口
③:创建Mybatis的主配置文件 SqlMapConifg.xml
<mappers>
<mapper resource="indi/xu/dao/UserMapper.xml"></mapper>
</mappers>
④:创建映射配置文件 UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?><select id="list" resultType="indi.xu.domain.User">
select * from user
</select>
⑤:演示
public class Test01 {
public static void main(String[] args) throws Exception{
//1.读取 主配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建SqlSessionFactory工厂
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
//3.使用工厂生产SqlSession对象
SqlSession session = factory.openSession();
//4.使用SqlSession创建Mapper接口的代理对象
UserMapper userMapper = session.getMapper(UserMapper.class);
//5.使用代理对象执行方法
List<User> list = userMapper.list();
for (User user : list) {
System.out.println(user);
}
//6.释放资源
session.close();
in.close();
}
}
三、注意事项
1:mybatis的映射配置文件位置必须和Mapper接口的包结构相同
2:映射配置文件的mapper标签namespace属性的取值必须是Mapper接口的全限定类名
3:映射配置文件的操作配置(select),id属性的取值必须是Mapper接口的方法名