Mybatis基本环境搭建

 一、  MyBatis简述(来自官方doc)

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

二、MyBatis基本环境搭建

1.需要的jar包分析

新建Java项目MybatisTest,将mybatis和mysql的两个jar包复制到src目录下。这里是这两个jar包


选中这两个jar包,右键 选择Build Path-->add to Build path


2.建立数据库mybatisusers,在其中表user(id,userName,userPwd)。交互式操作插入一条数据(张三,"123456")用作测试用。这里id字段是主键并且设置为自动增长


3.src目录下新建配置文件mybatis-config.xml。这里可以参考文档(http://www.mybatis.org/mybatis-3/getting-started.html)来写xml文件。

  
  
  
	
      
      
          
              
              
		  
		  
		  
		 
              
          
      
这里jdbc中一些参数的设置,也是采用占位符的形式引用。下面要在外加的properties文件中配置这些值


4.建立db.properties文件并在mybatis.config.xml文件中引入这个文件

db.properties:

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/mybatisusers?characterEncoding=utf8&useSSL=true
db.user=jack
db.password=12345678

在mybatis.config.xml中引入 即添加标签


5.编写数据库user表对应的实体类:User.java  

这里重写toString方法是为了后边测试方便

package javastudy;

public class User {
	private int id;
	private String userName;
	private String userPwd;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserPwd() {
		return userPwd;
	}
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", userName=" + userName + ", userPwd=" + userPwd + "]";
	}
	
}


6.在实体类所在包下,编写userMapper.xml文件(映射文件)。用来描述针对这个实体类执行的所有方法

这里是做的根据id值去查询记录结果的sql语句




    

在mybatis.config.xml文件中配置这个映射文件

    
    
    	
    

7.编写MyBatis的工具类  (读取配置文件)并且测试。这里类似于hibernate的环境搭建一样,这里在Mybatis中有SqlSession类,这个工具类就是为了解析xml文件并且获取这个session。

package javastudy;

import java.io.IOException;
import java.io.InputStream;

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 MybatisUtils {

	//编写MyBatis的工具类  (读取配置文件)
	public static SqlSession openSession() throws IOException{
		String resource="mybatis-config.xml";
		InputStream in= Resources.getResourceAsStream(resource);
		SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder()
				.build(in,"mybatisusers");
		return sessionFactory.openSession();
		
	}
}


三、测试环境搭建

建立单元测试类,写方法testSelectUser,并传进去id值为1。最后打印查询出的user,看看与初始化的(张三,"123456")是否一样。

这里要定义String statement="javastudy.userMapper.selectUser";  用来配置到映射文件的sql语句

package Test;

import java.io.IOException;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import javastudy.MybatisUtils;
import javastudy.User;

public class MybatisTest {
	SqlSession session;
	String statement=null;
	@Test
	public void testSelectUser() throws IOException {
		session=MybatisUtils.openSession();
		statement="javastudy.userMapper.selectUser";
		User user=session.selectOne(statement, 1);
		System.out.println(user);
		session.commit();
		session.close();
	}
}


运行单元测试,程序没有问题!这样就算搭建好了Mybatis基本环境。



你可能感兴趣的:(java)