`

mybatis 基本

 
阅读更多

今天刚听说iBATIS改名为MyBatis,实际上就是iBATIS 3.0.1。以前都是用hibernate或者JPA,同时听说iBATIS 3与iBATIS 2 相比,变化挺大的,于是今天花了点时间学习了一下,做了个小例子。

 

准备工作:建立相应的数据库,表,添加一条记录用于测试。

 

第一步当然是建立项目,导入jar包,导入mybatis-3.0.1.jar,和mysql的jdbc驱动。

 

第二步 新建一个类User,包含主键,用户名,密码等属性

 

Java代码 复制代码 收藏代码
  1. package cn.dcr.mybatis.entity;   
  2.   
  3. public class User {   
  4.     private Long id;   
  5.     private String userName;   
  6.     private String password;   
  7.     private int age;   
  8.   
  9.     public Long getId() {   
  10.         return id;   
  11.     }   
  12.   
  13.     public void setId(Long id) {   
  14.         this.id = id;   
  15.     }   
  16.   
  17.     public String getUserName() {   
  18.         return userName;   
  19.     }   
  20.   
  21.     public void setUserName(String userName) {   
  22.         this.userName = userName;   
  23.     }   
  24.   
  25.     public String getPassword() {   
  26.         return password;   
  27.     }   
  28.   
  29.     public void setPassword(String password) {   
  30.         this.password = password;   
  31.     }   
  32.   
  33.     public int getAge() {   
  34.         return age;   
  35.     }   
  36.   
  37.     public void setAge(int age) {   
  38.         this.age = age;   
  39.     }   
  40.   
  41. }  
package cn.dcr.mybatis.entity;

public class User {
	private Long id;
	private String userName;
	private String password;
	private int age;

	public Long getId() {
		return id;
	}

	public void setId(Long 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;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

}

 第三步,写sql映射的xml文件

 

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>     
  2. <!DOCTYPE mapper     
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"     
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">     
  5.      
  6. <mapper namespace="cn.dcr.mybatis.entity.UserMapper">     
  7.     <select id="selectOne" parameterType="long" resultType="cn.dcr.mybatis.entity.User">     
  8.         select * from user where id = #{id}     
  9.     </select>     
  10. </mapper>  
<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper  
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
  
<mapper namespace="cn.dcr.mybatis.entity.UserMapper">  
    <select id="selectOne" parameterType="long" resultType="cn.dcr.mybatis.entity.User">  
        select * from user where id = #{id}  
    </select>  
</mapper>

 

 第四步,写MyBatis配置文件,configuration.xml

 

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>    
  2. <!DOCTYPE configuration    
  3.     PUBLIC "-//mybatis.org//DTD Config 3.0//EN"    
  4.     "http://mybatis.org/dtd/mybatis-3-config.dtd">     
  5. <configuration>  
  6.     <environments default="development">    
  7.         <environment id="development">    
  8.             <transactionManager type="JDBC"/>    
  9.             <dataSource type="POOLED">    
  10.                 <property name="driver" value="com.mysql.jdbc.Driver"/>    
  11.                 <property name="url" value="jdbc:mysql://localhost:3306/test"/>    
  12.                 <property name="username" value="root"/>    
  13.                 <property name="password" value="root"/>    
  14.             </dataSource>    
  15.         </environment>    
  16.     </environments>    
  17.     <mappers>    
  18.         <mapper resource="cn/dcr/mybatis/entity/User.xml"/>    
  19.     </mappers>  
  20. </configuration>  
<?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>
	<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://localhost:3306/test"/> 
				<property name="username" value="root"/> 
				<property name="password" value="root"/> 
			</dataSource> 
		</environment> 
	</environments> 
	<mappers> 
		<mapper resource="cn/dcr/mybatis/entity/User.xml"/> 
	</mappers>
</configuration>

 

第五步,编写Util类,用于初始化SqlSessionFactory

 

Java代码 复制代码 收藏代码
  1. package cn.dcr.mybatis.util;   
  2.   
  3. import java.io.IOException;   
  4. import java.io.Reader;   
  5.   
  6. import org.apache.ibatis.io.Resources;   
  7. import org.apache.ibatis.session.SqlSessionFactory;   
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;   
  9.   
  10. public class Util {   
  11.        
  12.     private static SqlSessionFactory sqlSessionFactory = null;   
  13.        
  14.     static {   
  15.         String resource = "configuration.xml";    
  16.            
  17.         Reader reader = null;   
  18.         try {   
  19.             reader = Resources.getResourceAsReader(resource);   
  20.         } catch (IOException e) {   
  21.             e.printStackTrace();   
  22.         }          
  23.            
  24.         sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);   
  25.     }   
  26.        
  27.     public static SqlSessionFactory getSqlSessionFactory(){   
  28.         return sqlSessionFactory;   
  29.     }   
  30. }  
package cn.dcr.mybatis.util;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Util {
	
	private static SqlSessionFactory sqlSessionFactory = null;
	
	static {
		String resource = "configuration.xml"; 
		
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}		
		
		sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
	}
	
	public static SqlSessionFactory getSqlSessionFactory(){
		return sqlSessionFactory;
	}
}

 

 

第六步,编写Dao类,用于封装增删改查等操作(为简单起见,这个类只有一个根据id查询出对应的User对象的方法)

 

Java代码 复制代码 收藏代码
  1. package cn.dcr.mybatis.dao;   
  2.   
  3. import org.apache.ibatis.session.SqlSession;   
  4.   
  5. import cn.dcr.mybatis.entity.User;   
  6. import cn.dcr.mybatis.util.Util;   
  7.   
  8. public class UserDao {   
  9.     public User query(Long id){   
  10.         SqlSession session = Util.getSqlSessionFactory().openSession();   
  11.         User user = null;   
  12.         try{   
  13.              user = (User)session.selectOne("cn.dcr.mybatis.entity.UserMapper.selectOne", id);   
  14.         }catch(Exception e){   
  15.             e.printStackTrace();   
  16.         }finally{   
  17.             session.close();   
  18.         }   
  19.         return user;   
  20.     }   
  21. }  
package cn.dcr.mybatis.dao;

import org.apache.ibatis.session.SqlSession;

import cn.dcr.mybatis.entity.User;
import cn.dcr.mybatis.util.Util;

public class UserDao {
	public User query(Long id){
		SqlSession session = Util.getSqlSessionFactory().openSession();
		User user = null;
		try{
			 user = (User)session.selectOne("cn.dcr.mybatis.entity.UserMapper.selectOne", id);
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			session.close();
		}
		return user;
	}
}

 

第七步,编写测试类

 

Java代码 复制代码 收藏代码
  1. package cn.dcr.mybatis.test;   
  2.   
  3. import cn.dcr.mybatis.dao.UserDao;   
  4. import cn.dcr.mybatis.entity.User;   
  5.   
  6. public class UserTest {   
  7.     public static void main(String[] args){   
  8.         UserDao userDao = new UserDao();   
  9.         User user = userDao.query(1L);   
  10.            
  11.         System.out.println(user.getId());   
  12.         System.out.println(user.getUserName());   
  13.         System.out.println(user.getPassword());   
  14.         System.out.println(user.getAge());   
  15.     }   
  16. }  
package cn.dcr.mybatis.test;

import cn.dcr.mybatis.dao.UserDao;
import cn.dcr.mybatis.entity.User;

public class UserTest {
	public static void main(String[] args){
		UserDao userDao = new UserDao();
		User user = userDao.query(1L);
		
		System.out.println(user.getId());
		System.out.println(user.getUserName());
		System.out.println(user.getPassword());
		System.out.println(user.getAge());
	}
}

 

 

运行一下,能够成功查询出对应的记录。

 

先到这,等有功夫在研究一下详细用法。

 

比较详细了,不上传源码了。

分享到:
评论
1 楼 log4j_properties 2011-12-21  
多贴了一个pojo,少贴一个mapper吧?

相关推荐

    MyBatis基本使用总结

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在使用MyBatis时,我们需要理解其核心组件...在实际项目中,理解并熟练掌握MyBatis的基本使用,对于提升开发效率和代码质量有着重要作用。

    Mybatis系列教程Mybatis基本应用共9页.pdf

    【标题】:Mybatis系列教程Mybatis基本应用共9页.pdf 【描述】:这份教程是关于Mybatis基本应用的详细讲解,包含了9页丰富的内容,旨在帮助学习者深入理解和掌握Mybatis这一强大的持久层框架。 【标签】:Mybatis...

    MyBatis基本CRUD与动态SQL(带log4j.properties).zip

    综上所述,MyBatis基本CRUD操作涉及了数据库中的基本操作,而动态SQL则展示了MyBatis如何通过XML映射文件实现灵活的SQL构建。配合`log4j.properties`配置,开发者可以更好地理解和优化MyBatis应用的执行流程。通过...

    MyBatis基本使用与优化

    ### MyBatis基本使用与优化 #### MyBatis简介与使用方法 MyBatis是一个流行的持久层框架,它简化了Java应用程序与数据库交互的过程。MyBatis的核心特性在于它的ORM(对象关系映射)功能,它能够将Java实体类与SQL...

    spring+springMVC+mybatis基本包

    这个"spring+springMVC+mybatis基本包"压缩文件提供了这三大框架的基础库,便于开发者快速搭建和运行基于SSM的项目。下面将详细介绍这三个框架以及它们在集成中的作用。 1. Spring框架: Spring 是一个开源的Java...

    MyBatis基本的增删查改案例

    在这个“MyBatis基本的增删查改案例”中,我们将深入探讨如何利用MyBatis进行数据的插入、删除、查询和更新。 首先,MyBatis的核心组件包括配置文件(mybatis-config.xml)和映射文件(mapper.xml)。配置文件定义...

    Spring 整合springmvc mybatis 基本项目框架

    **Spring整合SpringMVC MyBatis基本项目框架详解** 在Java Web开发中,Spring、SpringMVC和MyBatis是常见的三大组件,它们一起构建了一个强大的企业级应用框架。Spring作为一个全面的轻量级容器,提供了依赖注入...

    Mybatis基本应用开源架构源码2021.pdf

    MyBatis基本应用开源架构源码2021.pdf MyBatis是当前最流行的持久层框架之一,它提供了一个简单且高效的方式来访问和操作数据库。MyBatis的主要特点是它可以将Java对象与SQL语句分离,使得开发者可以更加专注于业务...

    MyBatis基本使用方法.rtf

    Mybatis基本使用方法但是没有注解使用方法

    mybatis基本文件xml、mapper等自动生成工具

    mybatis基本文件xml、mapper等自动生成工具 可自己根据自己的项目路径自行配置文件夹路径,本DEMO是使用的mysql数据库,可自行更换其他数据源 本DEMO会自动生成dao、model、mapper、xml文件,自带基本方法,可自动...

    mybatis基本配置及例子.zip_mybatis_mybatis sql server_mybatis 实例_mybati

    本资料包含MyBatis的基本配置和实例,适合初学者学习,特别关注与SQL Server的集成。 1. **MyBatis的基本配置**: MyBatis的配置文件通常为`mybatis-config.xml`,其中包含了数据源配置、事务管理器、环境配置等...

    mybatis基本例子的简单实现

    在本示例中,我们探讨的是如何实现MyBatis的基本功能。这个压缩包提供了源代码和一个名为“mybatis映射笔记.odt”的文档,其中详细记录了在实现过程中关于映射遇到的问题和解决方案。 首先,我们要理解MyBatis的...

    MyBatis 基本配置文件

    MyBatis配置文件中大标签configuration下子标签包括: configuration |--- properties |--- settings |--- typeAliases |--- typeHandlers |--- objectFactory |--- plugins |--- environments |--- |--- ...

    mybatis基本包

    这个 "mybatis基本包" 包含了开发过程中可能需要的所有 MyBatis 相关 jar 包,确保了项目运行的兼容性和稳定性。如果你在开发过程中缺少某些依赖,可以通过联系提供者来获取更多资源。 总结来说,MyBatis 是一个...

    spring boot+ mybatis 基本框架demo

    通过以上步骤,一个基于Spring Boot+Mybatis的基本框架Demo就搭建完成了。这样的架构可以作为一个微服务的基础,方便扩展和维护。在实际的微服务架构中,我们可能还会涉及到其他组件,如Spring Cloud、Docker容器化...

    Mybatis基本应用实现增删改查

    在本文中,我们将深入探讨如何使用Mybatis来实现基本的数据库增删改查(CRUD)操作。 首先,我们需要在项目中引入Mybatis的依赖。通常,这可以通过Maven或Gradle来完成。在Maven的pom.xml文件中,添加以下依赖: `...

    mybatis基本开发

    在"Mybatis基本开发demo"中,我们通常会涉及以下几个核心知识点: 1. **环境搭建**:首先,我们需要引入MyBatis的依赖库,这通常通过Maven或Gradle等构建工具完成。在`pom.xml`或`build.gradle`文件中添加MyBatis和...

    MyBatis基本配置和简单的增删改查

    在本教程中,我们将深入探讨MyBatis的基本配置和如何进行简单的增删改查操作。 **1. MyBatis的基本配置** MyBatis的配置文件通常命名为`mybatis-config.xml`,它是整个MyBatis框架的全局配置。以下是一些基本配置...

    Spring SpringMVC Mybatis基本使用的jar包

    在Java Web开发中,Spring、SpringMVC和Mybatis是三个非常重要的框架,它们共同构成了SSM(Spring-SpringMVC-Mybatis)集成开发框架。这个框架组合提供了全面的解决方案,从依赖注入到业务逻辑处理,再到数据库操作...

Global site tag (gtag.js) - Google Analytics