mybatis框架入门之dao层动态代理实现—详细介绍
一、mybatis框架介绍
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。它可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,即普通的Java对象)映射成数据库中的记录。
1. 优点
(1)简单易学:mybatis没有任何第三方依赖,只需要安装两个jar包和配置几个映射文件即可。
(2)使用灵活:mybatis不会对应用程序的现有设计强加任何影响,sql语句写在XML文件里,便于统一管理和优化。
(3)解耦合性:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统更容易维护,也更容易做单元测试。
2. 不足
(1)编写sql语句时工作量很大,尤其是字段多、多表关联时更为显著。
(2)sql语句依赖于数据库,导致数据库移植性差。
(3)框架还是比较简陋,功能尚有缺失
3. mybatis的两种映射方式
(1)通过XML映射
(2)通过注解
本文将讲述mybatis入门开发,下一篇文章介绍mybatis的两种映射方式。
二、mybatis框架入门开发
1. 数据准备
数据准备:(创建一张用户表)
代码如下:
create table user (
id int primary key auto_increment,
username varchar(20) not null,
birthday date,
sex char(1) default '男',
address varchar(50)
);
insert into user values (null, '孙悟空','1980-10-24','男','花果山水帘洞');
insert into user values (null, '白骨精','1992-11-12','女','白虎岭白骨洞');
insert into user values (null, '猪八戒','1983-05-20','男','福临山云栈洞');
insert into user values (null, '蜘蛛精','1995-03-22','女','盘丝洞');
select * from user;
2. 环境的搭建和测试
需求:使用mybatis框架,从User表中查询所有的用户
步骤:
1、在IDEA中创建项目
2、创建lib目录,并导入以下jar包
(1)mybatis-3.5.0.jar
(2)mysql-connector-java-5.1.37.jar
(3)log4j.jar
注:log4j.jar为打印日志文件信息的jar包
jar包目录如下图所示:
因为后面要写单元测试,所以我提前导入了hamcrest-core-1.3.jar和log4j-1.2.17.jar。
3、创建实体类(pojo类)User:
代码如下:
package com.it.pojo;
import java.sql.Date;
public class User {
private Integer id;
private String userName;
private Date birthday;
private String sex