MyBatis框架(上)

一.框架是什么?

1. 框架:软件的半成品.未解决问题制定的一套约束,在提供功能基础
上进行扩充.

2. 框架中一些不能被封装的代码(变量),需要使用框架者新建一个
xml 文件,在文件中添加变量内容.

2.1 需要建立特定位置和特定名称的配置文件. 2.2 需要使用 xml 解析技术和反射技术.

3. 常用概念
3.1 类库:提供的类没有封装一定逻辑. 举例:类库就是名言警句,写作文时引入名言警句

3.2 框架:区别与类库,里面有一些约束. 举例:框架是填空题
 

二.MyBatis 简介

1. Mybatis 开源免费框架.原名叫 iBatis,2010 在 google code,2013 年迁
移到 github
2. 作用: 数据访问层框架. 2.1 底层是对 JDBC 的封装. 3. mybatis 优点之一:
3.1 使用 mybatis 时不需要编写实现类,只需要写需要执行的 sql 命令

三. 环境搭建

1. 导入 jar

  1. Cglib 依赖的包
  2. 动态代理包
  3. 日志包
  4. 字节码解析包也是 cglib 依赖的包
  5. Mybatis 核心包
  6. 驱动

2. 在 src 下新建全局配置文件(编写 JDBC 四个变量)
2.1 没有名称和地址要求
2.2 在全局配置文件中引入 DTD 或 schema
2.2.1 如果导入 dtd 后没有提示
Window--> preference --> XML --> XMl catalog --> add 按钮

2.3 全局配置文件内容

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

<mappers>
<mapper resource="com/bjsxt/mapper/FlowerMapper.xml"/>
</mappers>
</configuration>

3. 新建以 mapper 结尾的包,在包下新建:实体类名+Mapper.xml
3.1 文件作用:编写需要执行的 SQL 命令
3.2 把 xml 文件理解成实现类. 3.3 xml 文件内容

<?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>

4. 测试结果(只有在单独使用 mybatis 时使用,最后 ssm 整合时下面代码不需要编写.)

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();

 

四. 环境搭建详解

1.全局配置文件中内容

1.1 <transactionManager/> type 属性可取值
1.1.1 JDBC,事务管理使用 JDBC 原生事务管理方式
1.1.2 MANAGED 把事务管理转交给其他容器.原生 JDBC 事务
setAutoMapping(false);

1.2 <dataSouce/>type 属性
1.2.1 POOLED 使用数据库连接池
1.2.2 UNPOOLED 不实用数据库连接池,和直接使用 JDBC 一样
1.2.3 JNDI :java 命名目录接口技术.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值