- 什么是mybatis?
- mybtias如何使用?
- mybatis能做什么?
介绍:
-
什么是框架?
是软件卡法中的一套解决方案,不同框架解决的是不同的问题
使用框架的好处在于:
框架封装了很多的细节,使开发者可以使用即简单的方式实现功能,大大提高了开发效率. -
三层架构(SSM也叫two s m )?
2.1 表现层:? S 是用于展现数据的 2.2 业务层:? S 是处理业务需求的 2.3 持久层:? M 是和数据库交互的(这里的mybatis 就属于持久层)
-
持久层技术解决方案
1.JDBC技术 Connection PreparedStatement ResultSet 2.Spring的Jdbc Template: Spring 中对jdbc的简单封装 3.Apache的DBUtils: 它和Spring的Jdbc Template 很像,也对Jdbc的简单封装 以上这这些都不是框架 JDBC 是规范 Spring 的JdbcTemplate 和Apache的DBUtils都是工具
第一: 什么是mybatis 框架呢?(也就是可以直接写sql语句的框架)
概述:
mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,
使开发者只需要关注sql语句本身,而无需要花费精力去处理加载驱动,创建连接和创建statement
等繁杂的过程.使用了ORM 思想实现了结果集的封装.
ORM: 对象关系映射.简单说就是把数据 库表和实体类及实体类的属性对应起来
让我们可以操作实体类就实现操作数据库表.
数据库表字段 ----->一 一对应 实体类属性
user User
id UserId
user_name User_Name
第二. 如何使用mybatis 框架呢?
第一步骤: 搭建mybatis环境前期准备(创建maven工程并导入相关jar包)
1.0 创建一个maven 项目工程;
1.1 (导入mybatis jar包) 官网 搜索 mybatis —>点击入门,将下方依赖置于pom.xml 中.
刷新之后左侧会出现如下所示.
1.2 因为我们要使用的mybatis和数据库之间的操作,所以光有mybatis jar包还不行.还需要导入mysql 驱动jar包.导入到pom.xml 中如下.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
接下来如果你还想要日志的话还需要导入
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
如果还想要单元测试则还需要导入
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
导完包之后左侧会出现对应的jar包, 因此有这四个jar包就已经足够了!!!
第二步骤: mybatis的环境搭建
第一步: 创建maven工程并导入坐标(第一步已做!!!)
第二步: 创建实体类和dao的接口
第三步: 创建mybatis的主配置文件
SqlMapConfig.xml
第四步: 创建映射配置文件
IUserDao.xml
mybatis 主配置文件.第一句为配置文件限定符!!!
映射配置文件
环境搭建的注意事项加粗样式
第一个 :创建IUserDao.xml 和 IUserDao.java 时名称时为了和我们之前的知识保持一致.
在Mybatis中它把持久层的操作接口名称和映射文件也叫做: Mapper
所以: IUserDao 和 IUserMapper是一样的
第二个 :在idea中创建 目录的时候,它和包名是不一样的
包在创建时: com.java.dao 它时三级结构
目录在创建你时:com.java.dao 它是一级目录
第三个 :mybatis的映射配置文件位置必须和dao接口的包结构相同
第四个 :映射配置文件的mapper标签namespace属性的取值必须是dao的全限定类名
第五个 :映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名
当我们遵从三,四,五点之后,我们在开发中就无需再写dao的实现类.
mybatis 的入门案例:
1.读取文件
2.创建SqlSeeionFactory工厂
3.创建SqlSession
4.创建Dao接口的代理对象
5.执行dao中的方法
6.释放资源
注意:不要忘记在映射配置中告知mybatis要封装到哪个实体类中
配置的方法:指定实体类的全类名