MyBatis简介
mybatis的前生是ibatis,它是一款非常优秀的java持久层框架,所有sql语句写在配置文件中,和另外一款比较知名的orm框架hibernate比起来显得更加小巧灵活,也是企业级应用中不错的选择,mybatis项目目前托管在github上。
项目地址:http://mybatis.github.io/
目前最新的release版本为3.2.8,读者可以根据需求自行选择版本。
开发环境搭建
学习mybatis,读者首先需要搭建mybatis的开发环境,jdk、eclipse、数据库以及mybatis的jar包都是必不可少的。笔者机器上jdk版本为1.7、eclipse为Luna版本、数据库使用的是mysql,mybatis使用3.1.1版本。这些软件的安装较为简单,这里不做介绍。
创建数据库
为了演示mybatis对数据库的操作,我们需要mysql上创建了一个mybatis数据库:
create database mybatis;
然后创建一张User表用来存放用户信息:
建表脚本如下:
CREATE TABLE `mybatis`.`user` (
`UID` INT NOT NULL AUTO_INCREMENT,
`USERNAME` VARCHAR(45) NOT NULL,
`PASSWORD` VARCHAR(45) NOT NULL,
`PHONE` VARCHAR(45) NOT NULL,
PRIMARY KEY (`UID`),
UNIQUE INDEX `USERNAME_UNIQUE` (`USERNAME` ASC))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
除此之外,我们还需要向表中插入两条测试数据:
insert into user(username,password,phone) values('小王','123456a','13535999538');
insert into user(username,password,phone) values('小张','1234a6a','13635949538');
程序中测试数据库连接
1.eclipse中新建java工程,名为exam1.
2.在exam1上点击右键,properties->Java Build Path,点击Add Library按钮添加JUnit 4支持。
3.新建Java类并添加数据库驱动,测试JDBC方式连接数据库。
package com.mybatis.exam1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.junit.Test;
public class JDBCConn{
@Test
public void testJDBCConn()
{
String url = "jdbc:mysql://localhost:3306/mybatis?characterEncoding=UTF8";
String user = "root";
String pword = "";
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pword);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");
while(rs.next())
{
System.out.println("username:" + rs.getString(2) + "," + "password:" + rs.getString(3) + ",phone:" + rs.getString(4));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.选择Window->show view->outline菜单,打开outline视图,在testJDBCConn方法上点击右键,Debug As->Junit Test。
5.在控制台中查看输出信息如下:
username:小王,password:123456a,phone:13535999538
username:小张,password:1234a6a,phone:13635949538
说明程序中连接数据库成功,从下篇文章开始我们使用mybatis读数据库进行操作。