Mybatis最入门---HelloWorld

[一步是咫尺,一步即天涯]

上文中,我们已经演示了MySQL的安装配置,以及图形化管理工具的安装配置。本文,我们正式开始介绍当下流行Mybatis的使用方法,关于Mybatis的介绍,请进入传送门:Mybatis百度百科下面开始我们的干货部分吧!

惯例,先来看看我们的准备工作有:

a.操作系统 :win7 x64

b.基本软件:MySQL,Mybatis,Spring,SQLyog,Tomcat,web基础

--------------------------------------------------------------------------------------------------------------------------------------------------------

1.使用上文我们提供给大家的管理工具,快速创建一个我们使用到的Mybatis数据库。命名为db_mybatis。

2.在第一步的基础之上,创建一张user表,具体内容如下图:

Mybatis最入门---HelloWorld_第1张图片

3.使用Maven创建第一个mybatis工程:mybatis01,工程结构图如下:

Mybatis最入门---HelloWorld_第2张图片

4.修改pom文件,具体内容如下:


	4.0.0
	com.csdn,ingo
	mybatis01
	0.0.1-SNAPSHOT
	jar
	mybatis01
	http://maven.apache.org
	
		UTF-8
	
	
		
			junit
			junit
			4.12
			test
		
		
			org.mybatis
			mybatis
			3.3.1
		
		
			mysql
			mysql-connector-java
			5.1.26
		
	

5.创建数据库连接文件:jdbc.properties,具体内容如下:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=1234
6.创建mybatis-config.xml,具体内容如下:




	
	
		
	
	
		
			
			
				
				
				
				
			
		
	
	
		
	

【配置内容解释如下:

:表示别名定义,即我们在程序中使用alias的定义,即可代表type中对应的实体对象。具体见下文中mapper文件的使用方法。

:配置我们数据库语句文件的存放位置,这里我们只用到了一个文件,因此只配置了一个,更多用法将在后文中进行介绍。

其他配置项为通用配置,这里不再赘述。

7.创建SqlSessionFactoryUtil文件,用来连接数据库。具体内容如下:

package com.csdn.ingo.util;

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

	private static SqlSessionFactory sqlSessionFactory;
	
	public static SqlSessionFactory getSqlSessionFactory(){
		if(sqlSessionFactory==null){
			InputStream inputStream=null;
			try{
				inputStream=Resources.getResourceAsStream("mybatis-config.xml");
				sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		return sqlSessionFactory;
	}
	
	public static SqlSession openSession(){
		return getSqlSessionFactory().openSession();
	}
}
8.创建User实体类,具体内容如下:

package com.csdn.ingo.entity;

import java.io.Serializable;

/**
*@author 作者 E-mail:ingo
*@version 创建时间:2016年4月17日下午6:25:27
*类说明
*/
@SuppressWarnings("serial")
public class User implements Serializable{
	
	private String id;
	private String password;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public User(String id, String password) {
		super();
		this.id = id;
		this.password = password;
	}
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
}
9.创建UserDao文件,具体内容如下:

package com.csdn.ingo.dao;

import com.csdn.ingo.entity.User;

/**
*@author 作者 E-mail:ingo
*@version 创建时间:2016年4月17日下午6:26:40
*类说明
*/
public interface UserDao {
	User findUserById(String id);
}

10.创建main文件,具体内容如下:

package com.csdn.ingo.main;
import org.apache.ibatis.session.SqlSession;

import com.csdn.ingo.dao.UserDao;
import com.csdn.ingo.entity.User;
import com.csdn.ingo.util.SqlSessionFactoryUtil;

public class main {
	public static void main(String[] args) {
		SqlSession sqlSession=SqlSessionFactoryUtil.openSession();
		UserDao userDao = sqlSession.getMapper(UserDao.class);
		String id = "admin";
		User curUser = userDao.findUserById(id);
		if(curUser!=null){
			System.out.println("HelloWorld:"+curUser.getId());
		}
	}
}

11.创建UserMapper.xml文件,具体内容如下:




	
 

【解释】

namespace:必须与UserDao的全路径想匹配,这样才能使的接口与sql文件一一对应。

id:现在必须与接口中的方法名称一致。后续我们将介绍高级用法,是mapper文件更加规范化。届时将介绍id的另一种实现方式,敬请期待。

parameterType:传入参数类型,对于基本类型,可以使用Integer,String等封装类型直接使用。复杂类型,多参数还需要将数据封装成对象才能使用,具体用法见后文中的介绍。

resultType:结果返回值的类型,本例返回的结果是一个User对象,这个对象使用了我们前文介绍的别名。如果未使用别名配置,或者上下文中存在多个User实体类,最好使用全路径的方式进行配置,方式发生错误。

12.测试方法:运行main方法即可。观察控制台输出。

--------------------------------------------------------------------------------------------------------------------------------------------------------

至此,Mybatis最入门---HelloWorld结束


参考资料:

官方文档:http://www.mybatis.org/mybatis-3/






你可能感兴趣的:(Mybatis)