`

mybatis学习(一) mybatis入门

阅读更多

       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入门案例...

    MyBatis入门.pdf

    MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...

    MyBatis入门到精通

    这篇“MyBatis入门到精通”的学习资料是针对初学者设计的,旨在帮助新手快速掌握MyBatis的基本用法和高级特性。 1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除...

    mybatis入门学习资料

    MyBatis的入门学习主要包括以下几个方面: 1. 什么是MyBatis? MyBatis是一款优秀的持久层框架,其设计目标之一是减少JDBC代码的手动设置和结果集的检索工作。它提供了两种主要的API,分别是基于XML的配置和注解的...

    mybatis学习入门一、mybatis+servlet实现数据显示

    标题 "mybatis学习入门一、mybatis+servlet实现数据显示" 提供了我们即将探讨的核心主题:MyBatis框架的学习入门,以及如何结合Servlet来展示数据。在这个过程中,我们将深入理解MyBatis的基本概念,它的作用,以及...

    【MyBatis学习笔记一】——MyBatis入门demo.zip

    【MyBatis学习笔记一】——MyBatis入门demo.zip 博客地址:https://blog.csdn.net/weixin_43817709/article/details/117370755

    MyBatis-Plus入门+MyBatis-Plus文档手册 中文pdf高清版.rar

    mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中...《MyBatis-Plus入门文档》主要介绍了MyBatis-Plus入门使用,以及关于mybatis-plus的更多介绍及特性,感兴趣的可以下载学习一下

    0772-Mybatis入门

    Mybatis入门

    mybatis入门学习的完整项目代码

    本项目"mybatis入门学习的完整项目代码"旨在为初学者提供一个完整的 MyBatis 学习环境,帮助理解 MyBatis 的基本概念、配置以及如何在实际项目中应用。 首先,我们要了解 MyBatis 的核心概念: 1. **配置文件**:...

    第一个mybatis程序 mybatis入门

    【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...

    【MyBatis入门】—— MyBatis日志

    这篇博客“【MyBatis入门】—— MyBatis日志”旨在帮助初学者理解如何在MyBatis中配置和使用日志功能,以便于调试和优化应用程序。 在MyBatis中,日志系统对于跟踪SQL语句和参数,以及检查执行效率至关重要。...

    Mybatis入门资源

    至于".txt"文件,如"学习(五)用到的表.txt"、"学习(五、六)用到的表.txt"、"快速入门(一)用到的表.txt"很可能是为了配合教程示例,列出了相关联的数据库表结构,帮助读者更好地理解查询语句的上下文。...

    Mybatis学习笔记整合架构

    1.课程计划 第一天: 1、Mybatis的介绍 2、Mybatis的入门 a)使用jdbc操作数据库存在的问题 b)Mybatis的架构 c)Mybatis的入门程序 3、Dao的开发方法 a)原始dao的开发方法 ... 从入门学习到使用精通。

    mybatis入门实战之一

    在"mybatis入门实战之一"中,我们将深入探讨MyBatis的基础知识,包括它的安装配置、基本用法以及如何进行简单的增删改查操作。这个实战教程特别适合初学者,因为它涵盖了开发过程中常用的工具如log日志记录和Maven...

    MyBatis学习入门案例

    在本"MyBatis学习入门案例"中,我们将探讨如何使用这个框架来简化数据库操作,提升开发效率。 首先,MyBatis的核心是SQL映射文件,它允许开发者将SQL语句与Java代码分离,使得SQL的编写和维护更加灵活。在`...

    mybatis学习-入门(1)-单独使用mybatis

    在本教程中,我们将深入探讨MyBatis的基础知识,帮助初学者快速入门。本部分主要关注如何单独使用MyBatis,不涉及与其他框架的集成。 1. **MyBatis简介** MyBatis消除了几乎所有的JDBC代码和手动设置参数以及获取...

    MyBatis学习.pdf

    MyBatis的入门包括以下步骤: 1. 导入MyBatis核心jar包,通过Maven依赖管理器添加依赖到项目中。 2. 创建MyBatis主配置文件(mybatis-config.xml),在此文件中配置数据库连接信息、事务管理器、数据源等。 3. 构建...

    mybatis入门程序

    【标题】"mybatis入门程序"是一个针对初学者的教程,旨在引导他们进入SSM(Spring、SpringMVC和MyBatis)框架的学习。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发...

    MyBatis经典入门实例

    这个经典入门实例旨在为初学者提供一个快速理解MyBatis基本概念和操作方式的平台。通过学习这个实例,你可以掌握如何在实际项目中使用MyBatis进行数据操作。 首先,我们需要了解MyBatis的核心概念。MyBatis的核心是...

    mybatis 学习的demo,写的很详细,推荐入门学习者

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...

Global site tag (gtag.js) - Google Analytics