Mybatis3.1实战
mybatis中foreach_collection用法_范文模板及概述

mybatis中foreach collection用法范文模板及概述1. 引言概述:在使用Mybatis进行数据库操作时,我们经常会遇到需要对一个集合进行循环遍历的情况。
而Mybatis提供了foreach collection语法来实现这种需求。
通过foreach collection语句,我们可以快速、便捷地在SQL语句中引用一个集合,并遍历其中的元素。
文章结构:本文将详细介绍Mybatis中foreach collection的用法及相关注意事项。
首先,我们将给出该语句的基本作用和语法,并解释collection参数的使用方式以及它所代表的含义。
接着,我们将详细解析foreach元素内部可用的属性,帮助读者更好地理解并灵活运用该语法。
然后,我们通过示例与范文模板来展示foreach collection的不同应用场景,并介绍如何动态拼接SQL语句以及如何利用对象集合进行批量操作。
最后,我们会列举一些注意事项和常见问题解答,包括如何处理空指针异常、数据库特殊字符转义以及循环嵌套时对应关系处理技巧等方面。
最后,在结论部分总结全文内容。
目的:本文的目的是让读者能够充分理解并掌握Mybatis中foreach collection语句的使用方法,以及在实际开发中如何应用该语法解决常见问题。
通过该文,读者将对foreach collection有更深入的认识,并能够熟练运用它来提升自己的数据库操作效率和灵活性。
2. Mybatis中foreach collection用法2.1 foreach语句的作用与基本语法Mybatis中的foreach语句用于循环遍历一个集合,并将其中的元素作为参数传递给SQL语句中的占位符。
它常用于批量操作或动态生成SQL语句。
在Mybatis中,使用foreach语句的基本语法如下:```xml<foreach item="item" collection="collection" open="(" close=")" separator=",">#{item}</foreach>```其中,以下是各个属性的含义:- `item`:指定集合中每个元素在循环过程中对应的名称。
MyBatis核心技术全解与项目实战读书笔记

《MyBatis核心技术全解与项目实战》读书笔记1. 第一章 MyBatis简介本章主要介绍了MyBatis的基本概念、特点和优势,以及其在Java企业级应用开发中的重要作用。
MyBatis是一个优秀的持久层框架,它将SQL语句与Java对象映射(POJO)相结合,使得开发人员可以更加方便地操作数据库。
MyBatis的主要目标是简化数据库操作,提高开发效率,同时也提供了良好的数据封装和安全性。
SqlSessionFactory:用于创建SqlSession对象,SqlSession是MyBatis中执行SQL语句的核心接口。
SqlSession:用于执行SQL语句的会话对象,可以通过它来执行增删改查等操作。
Mapper:映射器接口,用于定义SQL语句和Java对象之间的映射关系。
Configuration:MyBatis的全局配置类,用于配置各种属性,如缓存策略、事务管理等。
插件:MyBatis的插件机制,允许开发者自定义拦截器、类型处理器等组件,以实现对MyBatis的功能扩展。
灵活性:MyBatis支持多种存储结构,如JDBC、ODBC、JNDI等,同时还支持自定义类型处理器和插件,使得MyBatis能够满足各种复杂的数据库操作需求。
易用性:MyBatis提供了简洁的XML映射文件来描述SQL语句和Java对象之间的映射关系,使得开发者无需编写复杂的SQL语句即可完成数据库操作。
性能优化:MyBatis通过一级缓存和二级缓存机制来提高查询性能,同时还支持动态SQL、分页查询等功能,使得MyBatis能够在高并发环境下保持良好的性能表现。
安全性:MyBatis提供了严格的权限控制机制,可以限制不同用户对数据库的操作权限,保证数据的安全性。
1.1 MyBatis概念及特点MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。
相比于传统的数据访问技术,MyBatis让开发者能够更加直接地与数据库交互,从而有效地避免了大量繁琐的SQL语句编写工作。
Mybatis3详解(四)----SQL映射文件详解(XxxMapper.xml)

Mybatis3详解(四)----SQL映射⽂件详解(XxxMapper.xml)1映射器是Mybatis中最复杂并且是最重要的组件。
它由⼀个接⼝和xml映射⽂件(或者注解)组成。
在映射器中我们可以配置各类SQL、动态SQL、缓存、存储过程、级联等复杂的内容。
并且通过简易的映射规则映射到指定的POJO或者其它对象上,映射器能有效的消除JDBC的底层代码。
在Mybatis的应⽤程序开发中,映射器的开发⼯作量占全部⼯作量的80%,可见其重要性。
映射⽂件的作⽤是⽤来配置SQL映射语句,根据不同的SQL语句性质,使⽤不同的标签,其中常⽤的标签有:<select>、<insert>、<update>、<delete>。
下⾯列出了SQL 映射⽂件的⼏个顶级元素(按照应被定义的顺序列出):元素描述cache该命名空间的缓存配置(会在缓存部分进⾏讲解)cache-ref引⽤其它命名空间的缓存配置resultMap描述如何从数据库结果集中加载对象,它是最复杂也是最强⼤的元素parameterMap定义参数映射。
此元素已被废弃,并可能在将来被移除!请使⽤⾏内参数映射parameType。
所以本⽂中不会介绍此元素sql可被其它语句引⽤的可重⽤语句块select映射查询语句insert映射插⼊语句update映射更新语句delete映射删除语句2select元素表⽰SQL 的select 语句,⽤于查询,⽽查询语句是我们⽇常中⽤的最多的,使⽤的多就意味它有着强⼤和复杂的功能,所以我们先来看看select元素的属性有哪些(加粗为最常⽤的)。
select元素中的属性属性描述id在命名空间中唯⼀的标识符,可以被⽤来引⽤这条语句parameterType将会传⼊这条语句的参数类的完全限定名或别名。
这个属性是可选的,因为 MyBatis 可以通过类型处理器(TypeHandler)推断出具体传⼊语句的参数,默认值为未设置(unset)parameterMap这是引⽤外部 parameterMap 的已经被废弃的⽅法。
Mybatis-Plus雪花id的使用以及参数配置详解

Mybatis-Plus雪花id的使⽤以及参数配置详解1.引⼊Mybatis-Plus依赖(3.1.1版本⽬前有些问题,建议使⽤3.1.0版本)<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.0</version></dependency>2.在application.yml配置⽂件中增加如下配置项mybatis-plus:#mapper-locations: classpath:mybatis/**/*Mapper.xml# 在classpath前添加星号可以使项⽬热加载成功# ⾃定义xml sql⽂件需要配置这个mapper-locations: classpath*:mybatis/**/*Mapper.xml#实体扫描,多个package⽤逗号或者分号分隔typeAliasesPackage: com.nis.projectglobal-config:#主键类型 0:"数据库ID⾃增", 1:"⽤户输⼊ID",2:"全局唯⼀ID (数字类型唯⼀ID)", 3:"全局唯⼀ID UUID";id-type: 3#机器 ID 部分(影响雪花ID)workerId: 1#数据标识 ID 部分(影响雪花ID)(workerId 和 datacenterId ⼀起配置才能重新初始化 Sequence)datacenterId: 18#字段策略 0:"忽略判断",1:"⾮ NULL 判断"),2:"⾮空判断"field-strategy: 2#驼峰下划线转换db-column-underline: true#刷新mapper 调试神器refresh-mapper: true#数据库⼤写下划线转换#capital-mode: true#序列接⼝实现类配置#key-generator: com.baomidou.springboot.xxx#逻辑删除配置(下⾯3个配置)logic-delete-value: 0logic-not-delete-value: 1#⾃定义SQL注⼊器#sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector#⾃定义填充策略接⼝实现#meta-object-handler: com.baomidou.springboot.xxxconfiguration:map-underscore-to-camel-case: truecache-enabled: false# 这个配置会将执⾏的sql打印出来,在开发或测试的时候可以⽤log-impl: org.apache.ibatis.logging.stdout.StdOutImpl3.原有的mapper接⼝增加继承BaseMapper接⼝public interface UserMapper extends BaseMapper<User>4.实体类增加注解在User实体类上添加@TableId的注解⽤来标识实体类的主键,以便插件在⽣成主键雪花Id或者其他id模式的时候找到哪个是主键;这种id是局部id,优先级:局部>全局。
【Mybatis】Mybatis实战2(一对一、一对多、多对多的设计及实现,高级特性及二级缓存)

【Mybatis】Mybatis实战2(⼀对⼀、⼀对多、多对多的设计及实现,⾼级特性及⼆级缓存)6).多表查询-“⼀对多”(表设计、实体设计、DAO(mapper)设计)(1)关联关系操作(⼀对多)①表设计:以员⼯和部门表为例思想: 1个员⼯对应1个部门,1个部门对应多个员⼯添加数据原则:先添加没有外键的数据(部门信息),再添加存在外键的数据(员⼯信息)注意:将外键添加在n的⼀⽅部门表:create table t_dept(id varchar2(36) primary key,name varchar2(50));员⼯表:create table t_emp(id varchar2(36) primary key,name varchar2(50),age number(3),salary number(10,2),dept_id references t_dept(id));②实体设计a. 在实体中添加关系属性,来表⽰实体之间的关系(对应表数据的关系)b. 在N的⼀⽅添加1的⼀个关系属性。
c. 在1的⼀⽅添加N的⼀个List的关系属性DAO:(MyBatis如何查询两张表信息)需求1:查询员⼯信息(⼯号,名字,年龄,薪资,所属部门的编号和名称)根据员⼯⼯号?DAO接⼝⽅法:public Emp selectById(String id);Mapper⽂件:①SQL:select e.id,,e.age,e.salary,d.id, from t_emp e left join t_dept d on e.dept_id = d.id where e.id = '5';②参数③将查询结果映射成⼀个实体对象特点: 如果关系属性是”1” ,使⽤ <association></association>需求2:根据id查询部门信息,及其内部的所有员⼯信息?DAO接⼝⽅法:public Dept selectById(String id);Mapper⽂件中①SQL:select d.id,,e.id as eid, as ename,e.age as eage,e.salary as salary from t_dept d left join t_emp e on d.id = e.dept_idwhere d.id = ?;②参数绑定③结果映射:ReusultMap映射集合关系属性特点: 关系属性是”n”个的集合 ,使⽤ <collection></ collection >7).多表查询-“⼀对⼀”(表设计、实体设计、DAO(mapper)设计)关联关系操作(⼀对⼀)例如:需求: 学⽣电脑管理系统①库表设计表⽰1对1的关系a. 添加外键(那张表添加都可以)①从业务的⾓度分析,后添加的数据对应的表。
SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。
1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。
mybatis-plus-boot-starter用法 概述及解释说明

mybatis-plus-boot-starter用法概述及解释说明1. 引言1.1 概述本篇文章旨在为读者提供关于mybatis-plus-boot-starter的详细解释和使用指南。
Mybatis-plus-boot-starter是一个重要的开源项目,它在Mybatis的基础上提供了更多便捷的功能和优化,使得我们可以更轻松地进行数据库操作。
本文将对该工具包进行概述,并介绍其主要特点和功能。
1.2 文章结构本文分为五个部分:引言、Mybatis-plus-boot-starter用法、使用示例、实际应用场景分析和总结与展望。
首先我们将对文章整体结构进行简单介绍,然后逐个章节详细阐述每部分的内容。
1.3 目的本文的主要目的是帮助读者更好地理解和掌握mybatis-plus-boot-starter的使用方法和技巧。
通过具体的实例演示和理论解释,读者可以深入了解该工具包,并能够灵活运用于实际项目中。
此外,我们还将分析一些常见应用场景,并给出相应的解决方案,以期帮助读者进一步拓展思路,提高开发效率。
以上是关于“1. 引言”部分内容的详细说明,请根据需要自行组织语言并撰写文章。
2. Mybatis-plus-boot-starter用法2.1 简介Mybatis-plus-boot-starter是一个方便快捷地使用MyBatis-Plus的开发工具。
它提供了许多封装好的方法和功能,简化了对数据库的操作,并且提高了开发效率。
通过引入mybatis-plus-boot-starter依赖,我们可以轻松地在Spring Boot 项目中集成MyBatis-Plus。
2.2 配置方式在Spring Boot项目中使用mybatis-plus-boot-starter非常简单。
首先,在项目的pom.xml文件中添加对mybatis-plus-boot-starter的依赖。
然后,在application.properties或application.yml配置文件中设置相关属性,如数据库连接信息、实体类包路径等。
mybatis教程

mybatis实战教程(mybatis in action)之一:开发环境搭建mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk1.7,mybatis3.2.0.jar包。
这些软件工具均可以到各自的官方网站上下载。
首先建立一个名字为MyBaits 的dynamic web project1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。
2. 将mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到web工程的lib目录.3. 创建mysql 测试数据库和用户表,注意,这里采用的是utf-8 编码创建用户表,并插入一条测试数据程序代码Create TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(50) DEFAULT NULL,`userAge` int(11) DEFAULT NULL,`userAddress` varchar(200) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong');到此为止,前期准备工作就完成了。
下面开始真正配置mybatis项目了。
1. 在MyBatis 里面创建两个源码目录,分别为src_user,test_src, 用如下方式建立,鼠标右键点击JavaResource.2. 设置mybatis 配置文件:Configuration.xml, 在src_user目录下建立此文件,内容如下:程序代码<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><typeAliases><typeAlias alias="User" type="er"/></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" /><property name="username" value="root"/><property name="password" value="password"/></dataSource></environment></environments><mappers><mapper resource="com/yihaomen/mybatis/model/User.xml"/></mappers></configuration>3. 建立与数据库对应的java class,以及映射文件.在src_user下建立package:com.yihaomen.mybatis.model ,并在这个package 下建立User 类:程序代码package com.yihaomen.mybatis.model;public class User {private int id;private String userName;private String userAge;private String userAddress;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {erName = userName;}public String getUserAge() {return userAge;}public void setUserAge(String userAge) {erAge = userAge;}public String getUserAddress() {return userAddress;}public void setUserAddress(String userAddress) {erAddress = userAddress;}}同时建立这个User 的映射文件User.xml:程序代码<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd"><mapper namespace="erMapper"><select id="selectUserByID" parameterType="int" resultType="User">select * from `user` where id = #{id}</select></mapper>下面对这几个配置文件解释下:1.Configuration.xml 是mybatis 用来建立sessionFactory 用的,里面主要包含了数据库连接相关东西,还有java 类所对应的别名,比如<typeAlias alias="User"type="er"/>这个别名非常重要,你在具体的类的映射中,比如User.xml 中resultType 就是对应这里的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Mybatis3.1实战1、前言 (2)2、什么是mybatis (2)3、Mybatis入门实例 (2)4、Mybatis中的增、删、改、查 (8)5、Mybatis新特性介绍 (10)6、mybatis-config.xml中的元素介绍 (11)7、Mapper配置文件中的用法 (18)8、Mybatis参数传递 (20)9、基于注解的sql语句 (21)10、动态sql语句 (22)11、mybatis中的一对多、一对一、多对多 (24)12、自定义类型处理器 (28)13、Mybatis缓存的一点说明 (31)14、Spring3.1+springmvc+mybatis3.1集成 (31)备注 (40)Like模糊查询 (40)排序 (40)if元素中的条件语句 (41)1、前言随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis。
相信很多朋友以前看过ibatis2.x,对ibatis2.x也比较熟悉,随着技术的发展,我们必须跟得上技术发展的步伐,不能永远停留在原来的技术上而不做进一步学习。
由于在我的一个新项目中采用了mybatis,为此我发了几天来学习了mybatis,相对hibernate来说,本人感觉mybatis相对来说更加简单,特别是熟悉sql 语句的朋友们,你在采用mybatis时,你会觉得跟传统的jdbc方式来操作数据库没什么差别,只是mybatis帮你做了很多原来你在用jdbc来实现时的很多工作。
我们来看看mybatis包含了哪些新特性。
Mybatis实现了接口绑定,使用更加方便对象关系映射的改进,效率更高MyBatis采用功能强大的基于OGNL的表达式来消除其他元素。
在本学习教程中,全方位介绍了mybatis中的各种特性,里面的实例都是采用比较简单的实例来实现,对于有些没有介绍到的特性,大家可以参考官方文档。
本教程采用的是mybatis最新的版本mybatis3.1,并结合了maven来写这个教程,所以大家需要对maven有所了解。
2、什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs (Plan Old Java Objects,普通的Java对象)映射成数据库中的记录。
3、Mybatis入门实例在maven中加入mybatis、mysql、junit的依赖包:<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.1.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.21</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>创建数据库Create table student(id int primary key autoincrement,age int,name varchar(23));在mysql数据中创建student表。
配置SqlmapConfiguration.xml,在src目录下面的resources目录下面创建此文件,内容如下:<configuration><!-- 引入外部数据库配置文件 --><properties resource="database.properties"/><!--类型别名是为Java类型命名一个短的名字。
它只和XML配置有关,只用来减少类完全限定名的多余部分。
例如:使用这个配置,“Student”可以任意用来替代“com.marcle.domain.Student”所使用的地方。
对于普通的Java类型,有许多内建的类型别名。
它们都是大小写不敏感的,由于重载的名字,要注意原生类型的特殊处理。
--><typeAliases><typeAlias type="com.pango.mybatis.entity.Student"alias="Student"/><typeAlias type="com.pango.mybatis.entity.Status"alias="Status"/></typeAliases><!--environments 下用于配置不同数据库环境--><environments default="development"><environment id="development"><!--在MyBatis中有两种事务管理器类型(也就是type=”[JDBC|MANAGED]”): JDBC –这个配置直接简单使用了JDBC的提交和回滚设置。
它依赖于从数据源得到的连接来管理事务范围。
MANAGED –这个配置几乎没做什么。
它从来不提交或回滚一个连接。
而它会让容器来管理事务的整个生命周期(比如Spring或JEE应用服务器的上下文)。
默认情况下它会关闭连接。
然而一些容器并不希望这样,因此如果你需要从连接中停止它,将closeConnection属性设置为false--><transactionManager type="JDBC"/><!-- 数据源的配置dataSource元素使用基本的JDBC数据源接口来配置JDBC连接对象的资源。
许多MyBatis的应用程序将会按示例中的例子来配置数据源。
然而它并不是必须的。
要知道为了方便使用延迟加载,数据源才是必须的有三种内建的数据源类型UNPOOLED –这个数据源的实现是每次被请求时简单打开和关闭连接。
它有一点慢,这是对简单应用程序的一个很好的选择,因为它不需要及时的可用连接。
不同的数据库对这个的表现也是不一样的,所以对某些数据库来说配置数据源并不重要,这个配置也是闲置的POOLED –这是JDB法C连接对象的数据源连接池的实现,用来避免创建新的连接实例时必要的初始连接和认证时间。
这是一种当前Web应用程序用来快速响应请求很流行的方JNDI –这个数据源的实现是为了使用如Spring或应用服务器这类的容器,容器可以集中或在外部配置数据源,然后放置一个JNDI上下文的引用--><dataSource type="POOLED"><property name="driver"value="${database.driver}"/><property name="url"value="${database.url}"/><property name="username"value="${er}"/><property name="password"value="${database.password}"/> </dataSource></environment></environments><mappers><!--指定要用到的mapper文件。
以下的resource属性告诉MyBatis要在类路径下的resources目录下找student.xml文件。
我们将把mapper文件存放在src目录下的resources目录中。
--><mapper resource="case/student.xml"/></mappers></configuration>其中外部引入的jdbc.properties内容如下:database.driver = com.mysql.jdbc.Driverdatabase.url = jdbc:mysql://localhost:3306/mybatis_01er = rootdatabase.password = marcle创建mapper文件,在resources目录下面的case文件夹下面创建student.xml文件<mapper namespace="com.pango.mybatis.dao.StudentDao"><resultMap type="Student"id="Student_Map"><id property="id"column="id"/><result property="age"column="age"/><result property="name"column="name"/></resultMap><insert id="insert"parameterType="Student">insert into student (age,name) values (#{age},#{name}) </insert><select id="select"resultType="Student"parameterType="int"> select * from student where id=#{id}</select></mapper>创建实体类及接口Student类public class Student implements Serializable {private Long id;private int age;private String name;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}}StudentDao接口public interface StudentDao {public Student select(int id);public void insert(Student student);}SqlMapUtil 工具类及数据调用public class SqlMapUtils {private static final Logger logger =LogManager.getLogger(SqlMapUtils.class);private static final String CONFIG_FILE_PATH= "mybatis-config.xml";private SqlSessionFactory sessionFactory=null;private SqlSession session=null;private static SqlMapUtils instance=null;public SqlMapUtils(){Reader reader=null;try {reader = Resources.getResourceAsReader(CONFIG_FILE_PATH);sessionFactory = newSqlSessionFactoryBuilder().build(reader);session = sessionFactory.openSession();} catch (IOException e) {// TODO Auto-generated catch blocklogger.fatal("IO Exception occured while reading the Configuration File \n" + e);e.printStackTrace();}finally{if(reader!=null){try {reader.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}public static synchronized SqlMapUtils getInstance(){if (instance == null ){synchronized(SqlMapUtils.class){instance = new SqlMapUtils();}}return instance;}public SqlSession getSession(){if (session == null){throw new RuntimeException("Create SqlSession failed.");}return session;}}完成上面的步骤后,我们写一个测试类,测试上面所写的内容:public class StudentDaoTest {private StudentDao studentMapper;private SqlSession session;@Beforepublic void init(){session = SqlMapUtils.getInstance().getSession();studentMapper = session.getMapper(StudentDao.class);}@Testpublic void testInsert(){Student student = new Student();student.setAge(34);student.setName("luce");studentMapper.insert(student);mit();}@Testpublic void testFind(){Student student = studentMapper.select(3);System.out.println(student.getName());}@Afterpublic void end(){session.close();}}通过上面的几个步骤,我们就创建了一个完整的mybatis实例,通过这个实例,想必大家对mybatis有个初步的了解了。