MyBatis-Spring整合 注入SqlSessionTemplate

SqlSessionTemplate
SqlSessionTemplate 是 MyBatis-Spring 的核心。 这个类负责管理 MyBatis 的 SqlSession, 调用 MyBatis 的 SQL 方法, 翻译异常。 SqlSessionTemplate 是线程安全的。
最终要的是让spring获取到SqlSessionTemplate然后注入给工具类,让工具类操作数据库

MyBatis-Spring整合 注入SqlSessionTemplate_第1张图片
为了方便看,把所有文件都放一个文件夹里了。
总共是5个文件:
1.Mybatis.xml



	
		
			
	


2.UserMapper.xml




	 
	
	
	




3.spring.xml



	
		
			org.gjt.mm.mysql.Driver
		
		
			jdbc:mysql://localhost:3306/zdy?useUnicode=true&characterEncoding=UTF-8
			
		
		
			root
		
		
			1111
		
	
	
		
	
		
		
	
	
		
     
		
	
		
		
	
	
	
	




4.UserImpl.java :操作数据库工具类

package bs;

import java.util.List;
import java.util.Map;

import org.mybatis.spring.SqlSessionTemplate;

public class UserImpl {
	//注入以后就可以直接使用sqlsession
	private SqlSessionTemplate sqlsession;
	public void setSqlsession(SqlSessionTemplate sqlsession) {
		this.sqlsession = sqlsession;
	}
	//用sqlsession去操作数据库
	public void insert(Map user){
		sqlsession.insert("UserMapper.insert", user);
	}
	public void findById(int id){
		 sqlsession.selectOne("UserMapper.findById", id);
		 System.out.println(sqlsession.selectOne("UserMapper.findById", id));
		 //因为输出值是一个map集合,所以打印一个map
	}
}


5.Test.java
package bs;

import java.util.Map;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
	public static void main(String[] args) {

		ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bs/spring.xml");
		UserImpl userImpl = (UserImpl)ctx.getBean("user");
		//固定格式  取出bean中创建的UserMapper对象		
		userImpl.findById(1);
	}
}
数据库内容
MyBatis-Spring整合 注入SqlSessionTemplate_第2张图片
查询出来内容



你可能感兴趣的:(框架)