MyBatis学习-1
MyBatis 简介
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)
作用: 数据访问层框架. 底层是对 JDBC 的封装.
优点之一:使用mybatis时不需要编写实现类,只需要写需要执行的sql命令
MyBatis环境搭建和使用
1.导入 jar
2.在src下新建全局配置文件
- 没有名称和地址要求
- 在全局配置文件中引入 DTD 或 schema
- 如果导入dtd后没有提示,可以采用使用本地dtd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<configuration>
<!--default引用的environment的id,当前所使用的环境-->
<environments default="mysql">
<environment id="mysql">
<!--使用原生JDBC事务-->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/ssm"></property>
<property name="username" value="root"></property>
<property name="password" value="kylin"></property>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/kylin/mapper/FlowerMapper.xml"></mapper>
</mappers>
</configuration>
注意environments标签中的default属性值可以随便取,但是下方的environment标签中的id属性值则必须于default属性值保持一致。通过mappers标签中的maper标签并设置resource属性的值为要执行的sql操作的xml的文件路径从而连接数据库进行操作
3.新建以 mapper 结尾的包,在包下新建:实体类名+Mapper.xml
- 文件作用:编写需要执行的 SQL 命令
- 把 xml 文件理解成实现类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--namespace:理解成实现类的全路径(包名+类名)-->
<mapper namespace="a.b">
<!--id:方法名
parameterType:定义参数类型
resultType:返回值类型
如果方法返回值是list,在resultType中写List的泛型,因为mybatis对jdbc封装,一行一行读取数据
-->
<select id="selAll" resultType="com.kylin.pojo.Flower">
select * from flower
</select>
<select id="selById" resultType="int">
select count(*) from flower
</select>
<select id="c" resultType="com.kylin.pojo.Flower">
select * from flower
</select>
</mapper>
namespace:理解成实现类的全路径(包名+类名)
id:方法名
parameterType:定义参数类型
resultType:返回值类型:如果方法返回值是list,在resultType中写List的泛型,因为mybatis对jdbc封装,一行一行读取数据
注意:namespace属性值可以随便取,但是调用实现的时候,使用的路径就是namespac+id,并且不要忘记这mybaits的配置文件中对此xml文件进行绑定
4.测试结果(只有在单独使用 mybatis 时使用,最后 ssm 整合时下面代码不需要编写.)
1 | InputStream is = Resources.getResourceAsStream("myabtis.xml"); |
环境搭建详解
type 属性可取值 - JDBC,事务管理使用 JDBC 原生事务管理方式
- MANAGED 把事务管理转交给其他容器.原生 JDBC 事务setAutoMapping(false);
type 属性 - POOLED 使用数据库连接池
- UNPOOLED 不实用数据库连接池,和直接使用 JDBC 一样
- JNDI:java 命名目录接口技
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kylin!
评论