博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis入门之Helloworld
阅读量:4290 次
发布时间:2019-05-27

本文共 3072 字,大约阅读时间需要 10 分钟。

Mybatis是一款优秀的持久层框架,支持定制化SQL、存储过程以及高级映射。

特点:

1、简单易学:只有一个jar包(很小),无任何第三方依赖,

2、灵活:sql语句写在xml配置文件里,便于统一管理和优化,

3、解除sql与代码的耦合:提高了可维护性

首先从github上下载mybatis,下载地址:

从浏览器上打开上面的地址后,看到下图,

点击 图中红框框,进入到下一页,如图:

一个是开发包mybatis.zip ,一个是源码包source code,下载下来以后,解压后如下图:

我们发现已有mybatis只有一个jar包,果然是小巧。

下面我们开始搭建我们的mybatis

新建一个java项目,项目结构如图:

导入mybatis-3.4.4.jar、mysql-connector-java-5.1.42-bin.jar、log4j-1.2.17.jar包

导入log4j-1.2.17.jar包是为了看日志使用。

Employee代码如:

package com.mybatis.model;public class Employee {		private Integer id ;	private String lastName ;	private String email ;	private String gender ;	public Integer getId() {		return id;	}	public void setId(Integer id) {		this.id = id;	}	public String getLastName() {		return lastName;	}	public void setLastName(String lastName) {		this.lastName = lastName;	}	public String getEmail() {		return email;	}	public void setEmail(String email) {		this.email = email;	}	public String getGender() {		return gender;	}	public void setGender(String gender) {		this.gender = gender;	}	@Override	public String toString() {		return "Employee [id=" + id + ", lastName=" + lastName + ", email="				+ email + ", gender=" + gender + "]";	}		}
我使用的是mysql数据库,新建一个mybatis名称的数据库,执行下面的代码,创建数据库表和添加数据:

DROP TABLE IF EXISTS `tb1_employee`;CREATE TABLE `tb1_employee` (  `id` int(11) NOT NULL auto_increment,  `last_name` varchar(255) default NULL,  `gender` varchar(20) default NULL,  `email` varchar(255) default NULL,  PRIMARY KEY  (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;INSERT INTO `tb1_employee` VALUES ('1','tom','0','123@qq.com');

log4j.xml代码:

EmployeeMapper.xml代码:

mybatis-config.xml代码:

MybatisTest.java代码:

package com.mybatis.test;import java.io.IOException;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;import com.mybatis.model.Employee;public class MybatisTest {	/**	 * 1、根据xml配置文件常见SqlSessionFactory	 * 2、	 * @throws IOException	 */	@Test	public void test() throws IOException {		String resource = "conf/mybatis-config.xml";		InputStream inputStream = Resources.getResourceAsStream(resource);		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);		//2、获取sqlSession实例,能直接执行已经映射的sql语句		SqlSession session = sqlSessionFactory.openSession() ;		/**		 * sql的唯一标识:EmployeeMapper.xml中的 namespace+id		 * 执行sql要调用的参数:		 */		try{			Employee e = session.selectOne("com.mybatis.model.Employee.selectEmp", 1) ;			System.out.println(e);		}finally {			session.close();		}	}}

需要说明的是MybatisTest.java是一个Junit Test Case,如图:

运行test测试代码,控制台打印如图:

到此为止,说明mybatis已经搭建成功了。

你可能感兴趣的文章
无锁队列的实现
查看>>
CAS原子操作实现无锁及性能分析
查看>>
太上老君为何不能将孙悟空炼化
查看>>
Linux 互斥锁、原子操作实现原理
查看>>
搭建简单hls直播测试服务
查看>>
共享内存的数据同步
查看>>
LVS-入门试用
查看>>
Cache和Buffer的区别
查看>>
50个sql语句
查看>>
MYSQL sql 语句性能分析
查看>>
C++操作Redis数据库
查看>>
python yield用法
查看>>
python pipe模块用法
查看>>
安装完 MySQL 后必须调整的 10 项配置
查看>>
开发者必备的 12 个 JavaScript 库
查看>>
http错误码
查看>>
python 多线程
查看>>
sipp命令 各参数含义
查看>>
搜集的动植物分类、检索网站
查看>>
ffmpeg源码分析之媒体打开过程
查看>>