MyBatis基础
一.认识MyBatis
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
2013年11月迁移到Github(到网上去搜索一下)。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。
iBATIS提供的持久层框架包括SQL Maps(XML映射配置)和Data Access Objects(Dao)
1.1. MyBatis的介绍
MyBatis 是一个支持普通SQL查询,存储过程( Oracle最后一天)和高级映射的优秀持久层框架。
MyBatis 消除了几乎所有的JDBC代码和手工设置参数以及结果集的检索。
MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
MyBatis不能自动创建表,如果能够自动建表,必须自己先准备好建表的sql语句。
- MyBatis完成查询
2.1. 操作前的准备工作
创建一个java项目?略过
2.1.1. 导入相应的9个jar包
MyBatis是一个框架,咱们说了。在Java中框架就是一组Java类最后打成jar包。因此,不只是这个框架,以后咱们学习的所有框架。在使用前都要先导入相应 的jar包。
在导入jar包之前,我们得先说一下,MyBatis是操作数据库的框架。咱们以前学JDBC的时候说过:要操作数据库,一定不要忘了导入相应的数据库驱动包。
注:驱动包就是各大数据库厂商根据JDBC规范实现的jar包(忘了的同学可以去看JDBC第一天的笔记)
然后找到MyBatis(相关文件我们已经准备好,大家也可以到网上进行自行下载),再导入MyBatis的核心包与依赖包。
下图为我们使用MyBatis要导入的包:
2.1.2. 准备相应的表
咱们对数据库进行操作,肯定需要准备表。这没啥好说的。
现在直接引入我们准备好的product表即可:
MyBatis就是一个ORM框架(操作数据库)
二.Mybatis的基本配置
- 导包(核心,依赖包,数据库驱动包)
- 有表,有domain
- 核心配置文件 mybatis-config.xml
我们需要准备几个东西需要一个环境environments
environments 里面两个内容(transactionManager ,dataSource )
dataSource : driver,url,username,password(连接数据库的最小单位)
<configuration>
<!-- 环境们 (很多环境的意思)
default:默认使用哪一个环境(必需对应一个环境的id)
-->
<environments default="development">
<!--
一个环境 id:为这个环境取唯一一个id名称
-->
<environment id="development">
<!--
事务管理 type:JDBC(支持事务)/MANAGED(什么都不做)
-->
<transactionManager type="JDBC" />
<!-- 数据源, 连接池 type(POOLED):MyBatis自带的连接池 -->
<dataSource type="POOLED">
<!-- 连接数据库的参数 -->
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql:///mydb" />
<property name="username" value="root" />
<property name="password" value="admin" />
</dataSource>
</environment>
</environments>
<!-- 这个mappers代表的是相应的ORM映射文件 -->
<mappers>
<mapper resource="cn/itsource/domain/ProductMapper.xml" />
</mappers>
</configuration>
1.1.1. MyBatis-Config.xml
<configuration>
<!-- 引入Properties文件 -->
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<!-- 根据key拿到properties中的value值 -->
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="cn/itsource/domain/ProductMapper.xml"/>
</mappers>
</configuration>