`

MyBatis3_轻松入门_1

阅读更多

MyBatis3

博文目录

  1. 什么是MyBatis
  2. 从一个查询操作,窥探MyBatis的使用

 MyBatis是一款持久层框架,原名叫ibatis;

摘自官网的简介:
MyBatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。 MyBatis消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。 MyBatis使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plan Old Java Objects,普通的 Java对象)映射成数据库中的记录。

MyBatis核心组件:


 
SqlSessionFactory:类似Hibernate中的SessionFactory
SqlSession:类似Hibernate中的Session
Mapper:类似之前写的DAO
Config file:配置信息


MyBatis的基本使用全程实录:
1,新建一个java project---mybatis
2,导入MyBatis的jar包
---mybatis-3.0.5.jar
---把压缩包中的optional文件夹中的jar包也添进去,说不定用的着
---连接数据库,千万不要忘记这个包:
---sql.jar(根据具体数据库导),我用的是mysql
3,配置MyBatis的配置文件,类似Hibernate连数据库的*cfg.xml
---名称随便起,我起名叫:mybatis.xml,放到src中

<?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> 
	<!-- 配置MyBatis的环境,可以配置多个环境,每个环境包括事务管理器,数据源等信息,default表示当前使用哪一个环境(开发环境) -->
	<environments default="development"> 
		<environment id="development"> 
			<transactionManager type="JDBC"></transactionManager> 
			<dataSource type="POOLED"> 
				<property name="driver" value="com.mysql.jdbc.Driver"/> 
				<property name="url" value="jdbc:mysql:///log"/> 
				<property name="username" value="root"/> 
				<property name="password" value="root"/> 
			</dataSource> 
		</environment> 

		<enviroment id="test">
			<!-- test开发环境 -->
			<transactionManager type="JDBC"></transactionManager> 
			<dataSource type="POOLED"> 
				<property name="driver" value="com.mysql.jdbc.Driver"/> 
				<property name="url" value="jdbc:mysql:///test"/> 
				<property name="username" value="root"/> 
				<property name="password" value="root"/> 
			</dataSource>
		</enviroment>
	</environments> 
</configuration> 

 

 4,构建我们的POJO,仍然使用只有id,username,password的t_user表

package com.cn.pojo;

public class User {

	private Integer id;
	private String username;
	private String password;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
}

 5,在com.cn.mapper包中创建POJO的映射文件UserMapper.xml

注:在MyBatis中,mapper配置文件相当于之前的DAO包中的UserDao的功能,只不过换了种格式表示;

<?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"> 
<!-- namespace推荐写成类似类的完全限定名样式的(虽说不是类)可以想象成一个mapper就是一个类,类中具有若干个方法 -->
<mapper namespace="com.cn.mapper.UserMapper"> 
 
 	<!-- 相当于DAO中的方法,id是方法名,parameterType参数类型,resultType返回类型
 	关于resultType有两种形式:
 	1,直接写完全限定名:resultType="com.cn.pojo.User"
 	2,在主配置文件配置别名:请看mybatis.xml中的typeAliases标签内配置格式
 	
 	select标签:查询
 	#{id}:表示匹配的参数名,方法中提供的参数名
 	 -->
	<select id="findById" parameterType="int" resultType="User"> 
	  select id,username,password from t_user where id = #{id} 
	</select> 
 
</mapper>

 6,在mybatis.xml中添加对User别名的配置及对UserMapper.xml的关联

注:在mybatis.xml配置文件中,标签是有顺序要求的,标签按下面的顺序排列:
properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,plugins,environments,mappers

如果不按这个配置会报错:

写道
org.xml.sax.SAXParseException: The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,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>

	<!-- 配置返回类型的别名alias -->
	<typeAliases> 
		<typeAlias type="com.cn.pojo.User" alias="User"/> 
	</typeAliases> 
 
	<!-- 配置MyBatis的环境,可以配置多个环境,每个环境包括事务管理器,数据源等信息,default表示当前使用哪一个环境(开发环境) -->
	<environments default="development"> 
		<environment id="development"> 
			<transactionManager type="JDBC"></transactionManager> 
			<dataSource type="POOLED"> 
				<property name="driver" value="com.mysql.jdbc.Driver"/> 
				<property name="url" value="jdbc:mysql:///log"/> 
				<property name="username" value="root"/> 
				<property name="password" value="root"/> 
			</dataSource> 
		</environment> 
	</environments> 
	
	<!-- 配置MyBatis的POJO映射文件,‘/’代表文件层级  -->
	<mappers> 
	  <mapper resource="com/cn/mapper/UserMapper.xml"/>  
	</mappers>
</configuration>

 

 7,编写测试类,执行测试查询

package com.cn.test;

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.pojo.User;

public class MyBatis {

	public static void main(String[] args) throws Exception {
		//读取mybatis的配置文件
		Reader reader=Resources.getResourceAsReader("mybatis.xml");
		//获取mybatis的SqlSessionFactory对象
		SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(reader);
		//获取SqlSession,这里用来执行对数据库的操
		SqlSession session=factory.openSession();
		//selectOne方法第一个参数是mapper类中的方法的完全限定定义,第二个参数表示传入的参数
		User user=(User) session.selectOne("com.cn.mapper.UserMapper.findById", 1);
		System.out.println(user.getUsername());
		session.close();//关闭连接
	}
}

 

 至此我们已经会使用MyBatis了!!基本架构就是这么简单。

 

 

 

 

  • 大小: 27.3 KB
分享到:
评论

相关推荐

    MyBatis入门到精通

    1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis提供了动态SQL、映射文件和Java接口,使得数据库操作...

    Mybatis-Plus入门第二天讲义1

    在本文中,我们将深入探讨"Mybatis-Plus入门第二天讲义1"所涵盖的知识点,主要涉及ActiveRecord模式、Mybatis-Plus的基本操作以及如何在Java中使用这些概念。 首先,我们来理解什么是ActiveRecord。ActiveRecord是...

    学习mybatis_plus的基础使用.rar

    这个压缩包文件“学习mybatis_plus的基础使用.rar”显然是一个关于如何入门和使用Mybatis Plus的学习资源,适合初学者或者想要了解Mybatis Plus基本功能的开发者。 1. **Mybatis Plus概述**:Mybatis Plus在Mybatis...

    Mybatis轻松入门

    本篇文章将带你轻松入门Mybatis,了解其基本配置和使用方法。 首先,我们来看如何创建SqlSessionFactory,它是Mybatis的核心组件,用于管理SqlSession并构建对象映射关系。SqlSessionFactory的创建有两种方式: 1....

    Mybatis入门

    作为一个入门指南,我们将深入探讨Mybatis的基本概念、配置、映射文件、动态SQL以及如何在实际项目中使用它。 1. **Mybatis概述** Mybatis是由Google Code托管(现已迁移至GitHub)的开源项目,由Clinton Begin...

    Springboot整合Mybatis.zip

    Springboot整合Mybatis MyBatis 的前身是 Apache 的开源项目 iBatis。MyBatis 几乎可以代替 JDBC,是一个支持普通 SQL 查询,存储过程和高级映射的...可以帮助读者轻松掌握代码的内容,快速入门,持续深化,举一反三。

    mybatis入门小demo

    这个入门小demo是学习MyBatis的一个良好起点,通过它,我们可以快速理解MyBatis的基本操作和核心概念。 首先,让我们深入了解MyBatis的配置文件。在MyBatis中,主配置文件(通常命名为`mybatis-config.xml`)包含了...

    mybatis-plus快速入门手册,包含源代码样例Demo以及数据库源文件,带你快速上手CRUD,项目中不求人!

    本文将深入探讨 MyBatis-Plus 的核心特性,并指导如何快速入门,帮助开发者快速上手。 1. **无侵入性**: MyBatis-Plus 不改变原有 MyBatis 的架构,只需添加依赖,即可轻松集成。这意味着,如果你已经熟悉 ...

    mybatis快速入门jar包

    MyBatis 是一款深受开发者喜爱的持久层框架,它...通过配置SqlSessionFactoryBuilder和SqlSession,开发者可以轻松地集成MyBatis到项目中,提高开发效率。在快速入门MyBatis时,理解并掌握这些核心概念是非常重要的。

    spring_mybatis.rar

    本教程通过"spring_mybatis.rar"压缩包,将详细讲解如何将Spring和MyBatis整合,实现数据库的增删改查操作,适合初学者入门。 首先,我们需要理解Spring和MyBatis的整合原理。Spring通过SqlSessionFactoryBean和...

    MyBatis3.2.4完全自学手册

    **1、MyBatis简介** MyBatis起源于Apache的一个开源项目iBatis,在2010年由Apache Software Foundation迁移到Google Code并更名为MyBatis。之后在2013年11月,该项目迁移至GitHub进行维护。 MyBatis是一个优秀的...

    mybatis实战

    3、Mybatis入门实例 Mybatis的入门通常从创建配置文件开始,包括mybatis-config.xml,其中包含了数据源、环境配置、映射器等信息。接着,创建Mapper接口和对应的XML映射文件,定义SQL语句和结果映射。通过...

    MyBatis 3.5.5 参考文档1

    【MyBatis 3.5.5 参考文档1】是关于MyBatis框架的一个详细指南,旨在帮助开发者理解和使用这个持久层框架。MyBatis允许开发者自定义SQL、存储过程,并提供了高级映射功能,简化了JDBC的繁琐工作,如参数设置和结果集...

    mybatis.rar

    1. **MyBatis 基础**:MyBatis 是一个基于 Java 的持久层框架,它的核心是 SQL 映射文件,通过 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中...

    API MyBatis3

    1. **动态SQL**:MyBatis3的一个显著特点就是支持动态SQL,这意味着开发者可以在SQL语句中使用条件判断,极大地提高了代码的灵活性和可读性。例如,你可以根据条件选择性地包含或排除某些WHERE子句。 2. **注解支持...

    Eclipse_Spring_入门书籍

    通过Eclipse的插件支持,我们可以轻松地配置和管理这些依赖关系,使得代码更加模块化。 Eclipse作为Java开发的主流IDE,提供了丰富的功能来支持Spring框架的开发。例如,Spring Tool Suite (STS) 是Eclipse的一个...

    MyBatis核心教程

    在mybatis-guice中,可以轻松地通过Guice的依赖注入机制获取Mapper实例,简化了Mapper的使用流程。 #### 6. @Transactional注解 ##### 6.1 引言 mybatis-guice支持使用`@Transactional`注解来简化事务管理。 ###...

    尚硅谷Mybatis视频

    2. **易于集成**:MyBatis可以轻松地与Spring等框架进行集成,使得在大型项目中使用更为方便。 3. **灵活的SQL语法**:MyBatis支持动态SQL,可以通过if、foreach等标签来构造复杂的SQL语句,提高了代码的可维护性。 ...

Global site tag (gtag.js) - Google Analytics