MyBatis入门教程(一)

MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

 

       具有以下优点:1)开源的优秀持久层框架;(2SQL语句与代码分离;(3)面向配置的编程;(4)良好支持复杂数据映射;(5)动态SQL

 

         无论是Hibernate或者Mybatis,都可以法相他们有共同点1)从配置文件(通常是XML配置文件中)得到sessionfactory;(2)由sessionfactory产生 session;(3)在session中完成对数据的增删改查和事务提交等;(4)在用完之后关闭session

 

       具体言:每个MyBatis应用程序主要都是使用SqlSessionFactory实例,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

 

java对象和数据库之间有做mapping的配置文件,也通常是xml文件


各种技术在MVC中的位置如下图:

MyBatis入门教程(一)_第1张图片

 


 下面贴出源代码:


MyBatisConfig.xml








  
    
      
      
      
      
        
          
           
           
      
    
  

  
  
	    
  






Student.xml







  



Student.java

package com.hanchun.pojo;

/**
 *Student注意和数据库对应的表写成一一对应,否则会返回null值 
 */

public class Student {
	private int id;
	private String stu_name;
	private String stu_age;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getStu_name() {
		return stu_name;
	}
	public void setStu_name(String stu_name) {
		this.stu_name = stu_name;
	}
	public String getStu_age() {
		return stu_age;
	}
	public void setStu_age(String stu_age) {
		this.stu_age = stu_age;
	}
}




Test.java

package com.hanchun.test;

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

import com.hanchun.pojo.Student;

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

public class Test{

	public static void main(String[] args) {
		// 注意写成路径的形式
		String resource = "com/hanchun/map/MyBatisConfig.xml";
		Reader reader = null;
		SqlSession session;
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}
		SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder()
				.build(reader);
		session = sqlMapper.openSession();
		Student temp = session.selectOne("findById", 3);
		System.out.println(temp.getStu_name());
		session.close();
	}
}


最后程序运行结果:

MyBatis入门教程(一)_第2张图片


欢迎讨论:http://blog.csdn.net/code_7






你可能感兴趣的:(MyBatis)