MyBatis介绍及基本使用
前言
关于MyBatis,其实去年学习的时候就开始使用了,不过当时由于刚开始学习框架,对一些东西的理解不是很好,所有在学习MyBatis的时候,虽然有想法想把笔记整理出来作为博客发布,但是一直不敢动手,一方面是对MyBatis的使用不是很熟悉,另一方面是懒吧,囧,这几天趁着有时间重新回顾了MyBaits并且加上接触一些项目,所以就把学习的过程笔记整理出来。
关于MyBatis
MyBatis的前身是Ibatis,是一款优秀的持久层框架官网地址,其对JDBC进行了一系列的封装,提供了自动化的参数注入以及结果集抽取,然而又与Hibernate不同,MyBatis并没有提供全自动的SQL生成,不过,这也提供了极大地便利,我们可以根据情况编写合适的SQL,尤其是对于大牛来说,可以写出性能高一点的SQL,当然,这个我还不行,囧。
关于MyBatis,就不做过多的介绍了,其背景对于我们使用也没有太大的意义
MyBatis基本使用
MyBatis是持久层框架,所有,必不可少要与数据库打交道,这里我使用的是MySQL,首先建立基本的测试库以及测试表
数据来自刘增辉老师的《MyBatis从入门到精通》
create database mybatis default character set utf8 collate utf8_general_ci;
use mybatis;
# 测试表
create table `country`(
`id` int not null auto_increment,
`country_name` varchar(255) null ,
`country_code` varchar(255) null ,
primary key (`id`)
);
# 测试数据
insert into country (country_name, country_code)
values ('中国', 'CN'),
('美国', 'US'),
('俄罗斯', 'RU'),
('英国', 'GB'),
('法国', 'FR');
导入MyBatis以及数据库连接池依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
</dependency>
在MyBatis中,需要一个配置MyBatis的配置文件,用于指导MyBatis如何进行工作,如加载mapper文件的位置,类型处理器等等的操作,一般将其放置项目根目录就行
config.xml
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url"