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读数据库进行操作。

程序源码:https://github.com/rongbo-j/mybatis-blog

MyBatis数据持久化(一)准备工作的更多相关文章

  1. MyBatis数据持久化(十一)Mybatis3、Spring4、Struts2整合开发

    上一节我们將Mybatis和Spring4进行整合,本节向大家介绍Mybatis在Web开发中的应用,并与主流的MVC框架Struts2进行整合. 我们首先需要获取Struts2框架,Struts2官 ...

  2. MyBatis数据持久化(二)建立数据库会话

    上篇文章中介绍了我们使用mybatis前的准备工作,并在程序中通过jdbc与mysql数据库成功建立连接,接下来介绍如何使用mybatis与数据库建立会话.我们需要以下几个步骤: 1.在build p ...

  3. MyBatis数据持久化(十)与Spring4整合

    前面几节介绍了mybatis的基本使用方法,本节主要介绍如何使用mybatis与主流的IoC容器Spring进行整合. 我们首先需要获取Spring框架的jar文件,在写本文时spring的最新Rel ...

  4. MyBatis数据持久化(七)多表连接查询

    本节继续以多表连接查询的案例介绍使用resultMap的好处,对于两张以上的表进行关联查询,当我们有选择的从不同表查询所需字段时,使用resultMap是相当方便的.例如我们有两张表,分别为用户表Us ...

  5. MyBatis数据持久化(六)resultMap使用

    resultMap是MyBatis最强大也是最重要的特性,使用它我们可以將查询结果或者sql输入条件和一个HashMap的key进行映射,大大简化了sql查询条件的输入,而且使得数据的查询变得非常灵活 ...

  6. MyBatis数据持久化(三)增删改查

    上篇文章中我们使用mybatis成功建立数据库会话,并从表中查询出相应的数据,本文在此基础上介绍MyBatis另外几种操作,即插入.修改.删除记录. 1.修改User.xml文件,增加几条sql语句: ...

  7. MyBatis数据持久化(九)动态sql

    本文摘自:mybatis参考文档中文版 MyBatis的一个强大的特性之一通常是它的动态SQL能力.如果你有使用JDBC或其他相似框架的经验,你就明白条件地串联SQL字符串在一起是多么的痛苦,确保不能 ...

  8. MyBatis数据持久化(八)sql复用

    在mybatis中,我们可以將sql语句中公共的部分提取出来,然后需要该段sql的地方通过include标签引入即可,这样可以达到sql语句复用的目的. 例如我们有两条相似的查询语句: <sel ...

  9. MyBatis数据持久化(五)数据源配置优化

    在前面的教程中,我们把数据库的驱动.用户名.密码等配置项全部写在 SqlMapConfig.xml中: <dataSource type="POOLED"> <p ...

随机推荐

  1. Extjs 常见错误

    http://blog.csdn.net/lc448986375/article/details/8082014

  2. 9-21 调试javaweb 数据库连接感想

    如何找bug 一步步调试 数据库链接写一个简单的 test 数据库操作 sql语句 写一个类 测试一下 不要忽略细节 最后页面的显示 html "/head"少一个"/& ...

  3. js数组定义、属性及方法(push/pop/unshfit/shfit/reverse/sort/slice/splice/indexOf/lastIndexOf)

    数组 一.定义数组 * 字面量方式  var 数组名称 = [ value,value,... ] * 构造函数方式 var 数组名称 = new Array(value,value,...):  v ...

  4. ZBrush软件特性之Edit

    ZBrush®中的Edit调控板控制撤销和重做命令,它有一或两个命令设置将根据Tool工具调控板当前选择的工具而定,默认配置的命令仅有文档编辑,不过当激活一个3D工具,只针对这个工具的两个按钮设置变成 ...

  5. ZBrush为电影制作设计独特的生物概念

    任何一个从事3D行业的艺术家,在雕刻和画画方面,都要有牢固的基本技能,还要会使用一些软件.比如今天我们提到的这位概念设计师.插画师和艺术导演Ian Joyner,他在创作新角色之前,都会思考如何以及为 ...

  6. selenim

    一.安装selenium Pip install selenium==2.53.1    (稳定版) 下载火狐浏览器35.0.1  http://dl.pconline.com.cn/download ...

  7. sed将上下两行并列

    #cat log5 mmmm 1234 nnnn 2344 #sed -n '{N;s/\n/\t/p}' log5 mmmm 1234 nnnn 2344

  8. js获取路径参数对象

    /** * 获取页面路径参数值 */ function getParams(key) { var result = {}; var paramStr = encodeURI(window.docume ...

  9. Matplotlib 绘图与可视化 一些属性和错误

    属性 *)调整图像边缘及图像间的空白间隔plt.subplots.adjust(6个参数) 图像外部边缘的调整可以使用plt.tight_layout()进行自动控制,此方法不能够很好的控制图像间的间 ...

  10. Vue经典开源项目

    Vue常用的开源项目和插件库 UI组件 element ★34,784 - 饿了么出品的基于Vue2的web UI工具套件storybook ★33,503 - 响应式UI 开发及测试环境Vux ★1 ...