########################################################################################################################
# declare 吼吼吼!hohoho~~~~ 开始了开始了 #
# begin #
# 代码肌肉兄贵 ~~~~~~ { ] OH YEAH~~~ author:Vincent #
# ________ |^^\ } _____\ \ #
# \ ______ (_-__\ } ________\ 来到代码世界~展示我的超能力 #
# \ \ |____|____/ #
# [ } | __/__ / 祝小伙儿们看完文章后 #
# ^ ^ |__/__/ 工作顺利,吃啥啥没够儿~! #
# 这里是ISO-8859-1 |__/__| 不要惹我,一拳从多线程给你打成hello world! #
# 西欧字符集 ------> / \??/ \ 欢迎关注微信 2012letitgo2012 #
# 中文乱码!!!! | | | | #
# \ / \ / #
########################################################################################################################今天来和小伙伴聊聊如何创建并配置一个Mybatis项目。
mybaits 的前身叫做 ibatis,被其他公司收购之后由ibatis更名为mybaits。
mybaits是半自动化持久层框架,hibernate是全自动化持久层框架。
那如何创建一个Mybatis项目呢,接下来我们来讨论一下。
创建Mybatis项目有以下流程
1.创建一个java项目
2.在src创建一个lib包
3.把mybatis的包放入lib中(包括jdbc驱动,因为要连数据库,我这里放入orcle驱动。用mysql就放入mysql驱动)
4.通过build path把所有包引入项目
5.配置mybatis标签库
使用eclipse创建一个java项目,分别创建com.dao.mapper包,com.dao.pojo包。创建mybatis.xml配置文件。在com.dao.mapper包下创建mapper配置文件。

把mybatis的包放入lib中(包括jdbc驱动,因为要连数据库,我这里放入orcle驱动。用mysql就放入mysql驱动)
右键单击src,按以下顺序build path->Libraries->Add JARS,把lib中的包全部引入项目

选中lib中拷贝的所有mybatis包。


build path成功之后如图:

为mybatis项目配置标签库。将两个文件引入项目
mybatis-3-config.dtd
mybatis-3-mapper.dtd
mybatis-3-config.dtd为mybatis.xml配置文件使用的标签库文件
mybatis-3-mapper.dtd为mybatis mapper文件使用的标签库文件
那么怎么样进行配置呢,首先点击window-preferences-XML Catalog。

点击add添加mybatis标签库文件

通过File System找到操作系统mybatis config文件。
key 则填入值-//mybatis.org//DTD Config 3.0//EN

通过File System找到操作系统mybatis mapper文件。
key 则填入值-//mybatis.org//DTD Mapper 3.0//EN

单击OK配置完成,之后进行确认是否添加成功。

将config和mapper标签库的配置信息添加到mybatis 的config文件中和mapper文件中:
那么mybatis的config和mapper文件配置例子如下:
mybatis配置文件:
mybatis mapper文件:
mybatis mapper文件:
下面我们来一个Mybatis编程的具体例子:
首先引入一个文件log4j.properties到src文件夹中。这个文件允许在mybatis项目中看到详细输出。
创建3张表
用户表:
create table users(id int primary key,name varchar2(30) unique not null)
create sequence users_id increment by 1 start with 0 minvalue 0;
insert into users values(users_id.nextval,'tom');
insert into users values(users_id.nextval,'mike');
insert into users values(users_id.nextval,'bob');
commit;商品表:
create table Mybatisgoods(id int primary key,goodname varchar2(30) not null,price number)/
create sequence goods_id increment by 1 start with 0 minvalue 0;
insert into Mybatisgoods values(goods_id.nextval,'雪碧',6);
insert into Mybatisgoods values(goods_id.nextval,'可乐',6);
insert into Mybatisgoods values(goods_id.nextval,'大重九',9.9);
commit;订单表:
create table dingdan(id int primary key,ddnum varchar2(30) not null,userid number,num number,goodid number,price number,constraint fk_dingdan_userid_uid foreign key(userid) references users(id),constraint fk_dingdan_goodid_mgid foreign key(goodid) references Mybatisgoods(id))/
create sequence dingdan_id increment by 1 start with 0 minvalue 0;
insert into dingdan values(dingdan_id.nextval,4,1,4,1,24);
insert into dingdan values(dingdan_id.nextval,5,2,5,2,30);
insert into dingdan values(dingdan_id.nextval,6,3,6,3,60);
commit;package com.mybatishomework;import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;import javax.annotation.Resource;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class test {public static void main(String[] args) throws IOException {InputStream input = Resources.getResourceAsStream("mybatis.xml"); SqlSessionFactory fac = new SqlSessionFactoryBuilder().build(input);SqlSession sql = fac.openSession();List使用inputStream流读取mybatis.xml文件。
InputStream input = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory fac = new SqlSessionFactoryBuilder().build(input);
开启查询session
SqlSession sql = fac.openSession();
List
在dml操作中要记住关闭提交和关闭session,不然sql运行不会产生结果。
sql.commit();
sql.close();
好啦!小伙伴儿们^_^~~~~~~!mybatis项目的创建及简单查询语句的运行,你们会了吗。
如果想了解更多mybatis技巧,请关注我的博客其他文章吧,我是大眼仔。
########################################################################################################################
# end; #
# 代码肌肉兄贵 ~~~~~~ { ] OH YEAH~~~ author:Vincent #
# ________ |^^\ } _____\ \ #
# \ ______ (_-__\ } ________\ 来到代码世界~展示我的超能力 #
# \ \ |____|____/ #
# [ } | __/__ / 祝小伙儿们看完文章后 #
# ^ ^ |__/__/ 工作顺利,吃啥啥没够儿~! #
# 这里是ISO-8859-1 |__/__| 不要惹我,一拳从多线程给你打成hello world! #
# 西欧字符集 ------> / \??/ \ 欢迎关注微信 2012letitgo2012 #
# 中文乱码!!!! | | | | #
# \ / \ / #
########################################################################################################################