Mybatis 基础知识

2018-02-08 10:25:01来源:oschina作者:小衰哥有点帅人点击

分享

一、Mybatis的优点

MyBatis是一个半自动化的持久化层框架。


•JDBC


–SQL夹在Java代码块里,耦合度高导致硬编码内伤


–维护不易且实际开发需求中sql是有变化,频繁修改的情况多见


•Hibernate和JPA


–长难复杂SQL,对于Hibernate而言处理也不容易


–内部自动生产的SQL,不容易做特殊优化。


–基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难。导致数据库性能下降。


•对开发人员而言,核心sql还是需要自己优化


•sql和java编码分开,功能边界清晰,一个专注业务、一个专注数据。



二、下载Mybatis

https://github.com/mybatis/mybatis-3



三、HelloWorld

1、准备数据库


create database user
use user
CREATE TABLE student (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(32) DEFAULT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
INSERT INTO student VALUES (null,'tom');
INSERT INTO student VALUES (null,'jerry');


2、创建java项目并导入Jar包



3、创建实体类


准备实体类Student,用于映射表student


public class Student {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + "]";
}
}

4、配置文件mybatis-config.xml( 相当于hibernate.cfg.xml )


其作用主要是提供连接数据库用的驱动,数据库名称,编码方式,账号密码 ,以及关联下面的配置文件。


<?xml version="1.0" encoding="UTF-8" ?>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
















5、配置文件Student.xml


<?xml version="1.0" encoding="UTF-8" ?>
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">



6、编写测试类


根据配置文件mybatis-config.xml得到sqlSessionFactory 。


String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

然后再根据sqlSessionFactory 得到session


SqlSession session=sqlSessionFactory.openSession();

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台