0 本文demo下载地址
链接:https://pan.baidu.com/s/1qrOt6pg1LlirX4s3I44ATQ
提取码:a62x
1 下载地址
http://qunying2.jb51.net:81/201905/tools/mybatis_jb51.rar
2 引入MyBatis的jar包及依赖包
在粘贴到lib下builde Path即可。
内部包说明

3 在src下新建全局配置文件
配置文件即xml文件,主要用于存储连接数据库的四个变量(driver,url,user,password)。
配置文件名没有要求(比如MyBatis.xml),地址也是。
3.1 在全局配置文件中引入DTD或schema(不导就没有提示(直接按alt+/)):
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
3.1.1 如果按上面这样导了网络资源还是没有提示,就手动导入本地资源:window->preference->xml->xml catalog->add->浏览本地文件:mybatis-3-config.dtd

3.2 全局配置文件内容
千万注意!以下代码请直接复制使用,多一个空格都会报错,而且不告诉你错在哪儿,比如:第一个感叹号前后无空格。
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
完整配置示例:
<?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> <!-- default引用environment的id,当前所使用的环境 --> <environments default="default"> <!-- 声明可以使用的环境 --> <environment id="default"> <!-- 使用原生JDBC事务 --> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/ssm"/> <property name="username" value="root"/> <property name="password" value="xiaohei1120"/> </dataSource> </environment> </environments> <mappers> <mapper resource = "cn/xiaohei/mapper/FlowerMapper.xml"/> </mappers> </configuration>
3.2.1<transactionManager/>type属性的可取纸
- JDBC:事务管理使用JDBC原生事务管理方式
- MANAGED:把事务管理转交给其它容器
3.2.2 <dataSource> type属性
- POOLED 使用数据库连接池
- UNPOOLED 不适用数据库连接池
- JNDI :java命名目录接口
3.3 重要:Mapper示例
在原式mvc模式中,我们又dao包(接口)和daoImpl包。在MyBatis中,无需使用dao包和daoImpl包,而改用mapper包,包中写xml文件,相当于daoImpl中的实现类。
通过一定的机制,MyBatis解析这些xml文件作为与数据库操作的的接口。
举个例子:Flower为一个实例,要写它的怎删改查方法,只需要写在对象的实体名+Mapper.xml文件中即可,如下:
重要注意!以下部分代码请直接复制粘贴使用,多写一个空格都会报错,血的领悟。另:id不能重复,不能留空,不然也报错!
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
完整示例代码:
<?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:理解为daoImpl实现类的全路径(包名+类名) -->
<mapper namespace="cn.xiaohei.mapper.FlowerMapper">
<!--
查询:select标签
id:方法名
parameterType:定义参数类型
resultType:定义返回值类型(包名+类名)
如果返回值是list,在resultType中写List的泛型
-->
<select id="selAll" resultType="cn.xiaohei.pojo.Flower">
select * from flower
</select>
<!-- 新增标签 -->
<!-- 注意!Id不能重复,即使留空都算重复!!!!!!!!! -->
<insert id="1"></insert>
<!-- 删除 -->
<delete id="2"></delete>
<!-- 改 -->
<update id="3"></update>
</mapper>
4 测试配置是否成功的代码
package cn.xiaohei.test;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import cn.xiaohei.pojo.Flower;
public class Test {
public static void main(String[] args) throws Exception {
InputStream is = Resources.getResourceAsStream("MyBatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//生产SQLSession
SqlSession session = factory.openSession();
//调用方法:包名.类名.方法名(id)
List<Flower> list = session.selectList("cn.xiaohei.mapper.FlowerMapper.selAll");
System.out.println(list);
}
}