mybatis学习 ------简介

正如大多数框架的使用步骤,mybatis的使用步骤为 

1.导包

2.src目录下创建mybatis.XML文件 

因为mybatis主要是持久化相关的框架,所以接下来要创建mapper包,

3.src下创建mapper包 然后创建相关的 名字Mapper.xml (相当于创建了一个操作该模型的DAO)

4.将mapper下的xml配置到mybatis.xml中

5.进行测试

全局XML的配置

environments中可以创建N个environment  比如说我们可以有多个数据库环境MYSQL,ORACLE等等 ,然后我们在default中填写的是我们使用下个哪个ID的environment即我们使用哪个数据库, 其他则是基本的配置

<?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="POOLED">
<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="999"/>
</dataSource>
</environment>
</environments>

Mapper.xml的配置  

 mybatis 的优点之一就是不需要写实现类 XML就相当于实现类,将要执行的SQL语句配置在xml中就可以

JDBC对数据库进行遍历的时候时候其实是持续化访问的 ,我们遍历的时候 他会创建一个索引指向当前行,然后我们NEXT的时候 他指向的是下一行,直到访问到最后一行 然后断开连接。其中的resultType就是这个原理,因为索引指的一行的类型为Flower,所以返回类型也为Flower ,mybatis利用反射将值赋予给模型中

<?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">
<!-- namesapce:理解成实现类的全路径(包名+类名) -->
<mapper namespace="a.b" >
<!-- id:方法名
parameterType:定义参数类型
resultType:返回值类型. 如果方法返回值是 list,在 resultType 中写 List 的泛型,
因为 mybatis
对 jdbc 封装,一行一行读取数据
-->
<select id="selAll"
resultType="com.bjsxt.pojo.Flower">
select * from flower
</select>
</mapper>

数据测试

InputStream is =
Resources.getResourceAsStream("myabtis.xml");
//使用工厂设计模式
SqlSessionFactory factory = new
SqlSessionFactoryBuilder().build(is);
//生产 SqlSession
SqlSession session=factory.openSession();
List<Flower> list =
session.selectList("a.b.selAll");
for (Flower flower : list) {
System.out.println(flower.toString());
}
session.close();

猜你喜欢

转载自blog.csdn.net/weixin_41298572/article/details/88555795
今日推荐