博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用mybatis《一》
阅读量:6429 次
发布时间:2019-06-23

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

mybatis作为ORM轻量级框架一出现就吸引了无数人的眼球,比hibernate要简单且入门较容易,下面开始我的第一个mybatis程序。

一、下载mybatis的包

我们知道任何一个框架都会有其包,我们从其官方网站下载其包,官网网址为:http://www.mybatis.org/mybatis-3/,我这里使用的版本为3.3.0。下载完成之后解压可看到如下的目录结构:

 

mybatis-3.3.0.jar是其包,lib目录下是其依赖包,我们把这些包放到我们的项目中。我这里创建的是javaweb项目,方便以后做web测试,编写的程序是普通的java程序。

二、配置环境

把mybatis的包放到项目的lib目录下之后,接下来时配置mybatis的环境,我们知道mybatis做为ORM框架,属于开发中的DAO层,是和数据库打交道的,所以我们必须有数据,这里以mysql数据为例,具体的建库和建表这里不阐述。

在src目录下创建mybatis的配置文件,文件名称为:configuratin.xml,文件内容如下:

在mybatis配置文件中还有很多的配置项这里仅仅使用了这几个,

<typeAliases>  别名配置,即把实体类做个别名,目的在于在映射文件中使用实体类时不使用全限类名,而是使用别名,起到简单的作用

<environments>  配置了一些环境 比如数据配置,这里我们配置了数据源

<mappers> 配置映射文件,这里配置了com.cn.mappers包下的message.xml映射文件

下面对Message实体类进行说明,此实体类里是一些属性,如下,

package com.cn.imooc.entity;public class Message {    private String id;    private String command;    private String description;    private String comment;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getCommand() {        return command;    }    public void setCommand(String command) {        this.command = command;    }    public String getDescription() {        return description;    }    public void setDescription(String description) {        this.description = description;    }    public String getComment() {        return comment;    }    public void setComment(String comment) {        this.comment = comment;    }    @Override    public String toString() {        return "Message [id=" + id + ", command=" + command + ", description="                + description + ", comment=" + comment + "]";    }    }

提供了getXXX和setXXX方法,其中setXXX方法很关键,我这里的属性和数据库的字段名是一致,可以方便使用mybatis查询出结果之后反射到实体类中,当然也可以和数据库表字段名不一致,后续会进行说明。

message.xml映射文件如下,

这是我的mapper映射文件,里边有两个方法,一个是:selectUserById 根据id查询,另一个是selectMessages 查询所有

好了,到此为止,我们的mybatis的环境搭建完成,下面可以进行测试了。

三、测试

下面是测试代码,

package com.cn.test;import java.io.IOException;import java.io.Reader;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 com.cn.imooc.entity.Message;public class MyTest {    public static void main(String[] args) {        // TODO Auto-generated method stub         Reader reader;        SqlSession sqlSession=null;        try {            //1、获得sqlSessionFactory            reader = Resources.getResourceAsReader("Configuration.xml");            SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);            //2、获得sqlSession             sqlSession=sqlSessionFactory.openSession();            //3、查询            Message message=sqlSession.selectOne("com.cn.inter.IMessageOperation.selectUserByID", 1);            System.out.println(message);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        finally{            sqlSession.close();        }            }}

从上面可以看出,首先需要一个SqlSessionFactory,然后由sqlSessionFactory获得sqlSession,由sqlSession执行查询,使用了selectOne方法,第一个参数是映射文件中的nameSpace+“.”方法名,第二个参数是查询参数。

至此,一个mybatis程序就写完了,后续还会介绍别的版本。

有不当之处欢迎指正

谢谢

 

转载于:https://www.cnblogs.com/teach/p/5698956.html

你可能感兴趣的文章
Android 编译时注解-提升
查看>>
说说 Spring AOP 中 @Aspect 的高级用法
查看>>
Workbox CLI中文版
查看>>
贝聊亿级数据库分库分表实践
查看>>
同时连接gitlab和github
查看>>
vuex源码分析
查看>>
香港智远:港股光伏板块中报期有望获资金青睐
查看>>
高峰论坛:专家热议物联网行业如何迎风飞扬
查看>>
企业实施大数据的三个问题和五大关键
查看>>
住建部解析智慧城市停车场建设三大关键问题
查看>>
德州仪器第四季度净利润8.36亿美元 同比增1%
查看>>
打造“天网工程”用“大数据”说话
查看>>
东莞发放光伏发电财政资金补助 莞企和居民都可以申请
查看>>
《全栈性能测试修炼宝典 JMeter实战》—第2章 2.6节性能测试相关术语
查看>>
《Spring攻略(第2版)》——1.2 配置Spring IoC容器中的Bean
查看>>
Hive之三种查询方式
查看>>
《大数据思维——从掷骰子到纸牌屋》
查看>>
javascript实现中国各大城市快速下拉选择
查看>>
Copycat - Overview
查看>>
redis命令操作之generic和string.java
查看>>