mybatis(3.3.1version)是一个比较轻量级的O/R Mapping框架,跟Hibernate对比安装和配置都要简单许多。将mybatis.jar引入到项目中即可。安装之后下面的工作就是要配置相关文件。mybatis配置文件主要包含两个部门一个是核心配置文件也可称为主配文件,另一部分的配置就是若干个Mapper配置文件。
mybatis主配置文件,配置项标签要有序,顺序如下
( properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, plugins?,environments?,databaseIdProvider?,mappers?)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties resource="conf/datasource/jdbc.properties"></properties> <settings> <!-- 配置开启日志 Log4j --> <setting name="logImpl" value="LOG4J"/> <!-- <setting name="logImpl" value="SLF4J"/> --> </settings> <typeAliases> <typeAlias alias="Group" type="org.lian.domain.Group"/> <package name="org.lian.domain"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="conf/mybatis/mapper/GroupMapper.xml"/> <mapper resource="conf/mybatis/mapper/MusicMapper.xml"/> </mappers> </configuration>
下面是*Mapper.xml配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.lian.domain.Music"> <!-- <resultMap id="musicResult" type="Music"> <id property="groupId" column="group_id"/> <result property="groupName" column="group_name"/> </resultMap> --> <!-- <select id="selectGroup" parameterType="String" resultType="Group"> select group_id ,group_name from t_group where group_id = #{group_id} </select> --> <!-- 开启二级缓存 Music domain类 Javabean对象要实现Serializable接口 --> <!-- <cache/> --> <sql id="musicColumns"> id, name, singer, author, composer, album, duration, style </sql> <select id="selectMusic" parameterType="String" resultType="Music"> select <include refid="musicColumns"></include> from t_music where id = #{musicId} </select> </mapper>
domain实体类Music.java,省略setter和getter方法,这里采用了mybatis注解,来简化typeAliases配置。
@SuppressWarnings("serial") @Alias("Music") public class Music implements Serializable { private String id; /** * 名称 */ private String name; /** * 歌手 */ private String singer; /** * 专辑 */ private String album; /** * 歌曲时长 */ private String duration; /** * 作词 */ private String author; /** * 作曲 */ private String composer; /** * 曲风 */ private String style; }
上面工作将jdomain类Javabean对象和mybatis映射上,下面工作如何来获取SqlSessionFactory和SqlSession对象,这是我们写dao层要使用到最重要的两个对象。
public class MyBatisUtil { private static final SqlSessionFactory sqlSessionFactory = buildSqlSessionFactory(); private static SqlSessionFactory buildSqlSessionFactory() { String resource = "conf/mybatis/mybatis_core.xml"; InputStream inputStream; try { inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder() .build(inputStream); return sqlSessionFactory; } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(); } } public static SqlSessionFactory getSqlSessionFactory() { return sqlSessionFactory; } }
dao层通过SqlSession对象来访问数据库
public class MusicDaoImpl implements MusicDao { @Override public Music selectMusicById(String musicId) { StringBuilder statement = new StringBuilder(); statement.append(namespace); statement.append("selectMusic"); SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession(); try { // 这里使用泛型 Music music = sqlSession.selectOne(statement.toString(), musicId); return music; } finally { sqlSession.close(); } } }
参考网址:http://www.mybatis.org/mybatis-3/zh/index.html
相关推荐
mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...
MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...
这篇“MyBatis入门到精通”的学习资料是针对初学者设计的,旨在帮助新手快速掌握MyBatis的基本用法和高级特性。 1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除...
MyBatis的入门学习主要包括以下几个方面: 1. 什么是MyBatis? MyBatis是一款优秀的持久层框架,其设计目标之一是减少JDBC代码的手动设置和结果集的检索工作。它提供了两种主要的API,分别是基于XML的配置和注解的...
标题 "mybatis学习入门一、mybatis+servlet实现数据显示" 提供了我们即将探讨的核心主题:MyBatis框架的学习入门,以及如何结合Servlet来展示数据。在这个过程中,我们将深入理解MyBatis的基本概念,它的作用,以及...
【MyBatis学习笔记一】——MyBatis入门demo.zip 博客地址:https://blog.csdn.net/weixin_43817709/article/details/117370755
mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中...《MyBatis-Plus入门文档》主要介绍了MyBatis-Plus入门使用,以及关于mybatis-plus的更多介绍及特性,感兴趣的可以下载学习一下
Mybatis入门
本项目"mybatis入门学习的完整项目代码"旨在为初学者提供一个完整的 MyBatis 学习环境,帮助理解 MyBatis 的基本概念、配置以及如何在实际项目中应用。 首先,我们要了解 MyBatis 的核心概念: 1. **配置文件**:...
【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...
这篇博客“【MyBatis入门】—— MyBatis日志”旨在帮助初学者理解如何在MyBatis中配置和使用日志功能,以便于调试和优化应用程序。 在MyBatis中,日志系统对于跟踪SQL语句和参数,以及检查执行效率至关重要。...
至于".txt"文件,如"学习(五)用到的表.txt"、"学习(五、六)用到的表.txt"、"快速入门(一)用到的表.txt"很可能是为了配合教程示例,列出了相关联的数据库表结构,帮助读者更好地理解查询语句的上下文。...
1.课程计划 第一天: 1、Mybatis的介绍 2、Mybatis的入门 a)使用jdbc操作数据库存在的问题 b)Mybatis的架构 c)Mybatis的入门程序 3、Dao的开发方法 a)原始dao的开发方法 ... 从入门学习到使用精通。
在"mybatis入门实战之一"中,我们将深入探讨MyBatis的基础知识,包括它的安装配置、基本用法以及如何进行简单的增删改查操作。这个实战教程特别适合初学者,因为它涵盖了开发过程中常用的工具如log日志记录和Maven...
在本"MyBatis学习入门案例"中,我们将探讨如何使用这个框架来简化数据库操作,提升开发效率。 首先,MyBatis的核心是SQL映射文件,它允许开发者将SQL语句与Java代码分离,使得SQL的编写和维护更加灵活。在`...
在本教程中,我们将深入探讨MyBatis的基础知识,帮助初学者快速入门。本部分主要关注如何单独使用MyBatis,不涉及与其他框架的集成。 1. **MyBatis简介** MyBatis消除了几乎所有的JDBC代码和手动设置参数以及获取...
MyBatis的入门包括以下步骤: 1. 导入MyBatis核心jar包,通过Maven依赖管理器添加依赖到项目中。 2. 创建MyBatis主配置文件(mybatis-config.xml),在此文件中配置数据库连接信息、事务管理器、数据源等。 3. 构建...
【标题】"mybatis入门程序"是一个针对初学者的教程,旨在引导他们进入SSM(Spring、SpringMVC和MyBatis)框架的学习。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发...
这个经典入门实例旨在为初学者提供一个快速理解MyBatis基本概念和操作方式的平台。通过学习这个实例,你可以掌握如何在实际项目中使用MyBatis进行数据操作。 首先,我们需要了解MyBatis的核心概念。MyBatis的核心是...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...