要学习MyBatis,首先我们得知道为什么要学习它:
1、MyBatis在查询、关联对象或者集合时,只需要手动编写sql语句来完成,体现了它的半自动化和灵活性。
2、为了解决关系型数据库以及java对象的映射,简称ORM(对象关系映射)。
映射器的组成:
SQL语句:<select> <delete> <update> <insert>
映射关系:<sql> <parameterMap> <resultMap>
MyBatis的操作步骤:
1、导包
将mysql驱动包以及mybatis需要的.jar包导入lib文件夹下,右键Build Path
2、编写mybatis配置文件(mybatis-config.xml)
配置文件要放在src下
<?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>
<properties resource="jdbc.properties"></properties>
<typeAliases>
<!-- <typeAlias type="com.ape.bean.Student" alias="aa"/> -->
<package name="com.ape.bean"/>
</typeAliases>
<!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<transactionManager type="JDBC" />
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<package name="com.ape.mapper"/>
</mappers>
</configuration>
数据库连接池配置,要先配置好src下的jdbc.properties配置文件
3、在bean包创建表对应的实体类
4、dao包下创建获取SqlSession对象和释放资源的类
5、mapper包下创建接口和sqlmapper文件
注意,接口中方法名要和要执行的sql语句id一致,并且id是唯一的,不可重复
入参类型
总结以上要使用sqlmapper映射,必须在这几个前提下:
①.sqlMapper文件要和接口在同一个包下
②.sqlMapper文件名要和接口名一致
③.接口的方法名要和sqlMapper中的id值一致
④.sqlMapper中的namespace的值要指向接口路径
⑤.接口的入参类型要和sqlMapper中的parameterType类型一致
⑥.接口的返回值类型要和sqlMapper中的resultType类型一致
6、测试
测试类中,用dao层类中的方法先获取SqlSession对象,再用SqlSession对象的getMapper()方法获取对应接口的实现类对象,用该对象调用接口中的方法即可
还有注解的方式:
对接口中的方法进行注解,不需要sqlmapper文件,其他步骤一样
注解的方式适用于映射关系简单的表