Mybatis和Spring的初步整合

本文介绍如何将MyBatis与Spring进行整合,包括所需jar包下载、工程搭建步骤及核心配置文件详解。通过具体代码示例展示了数据库连接池、SqlSessionFactory配置过程,以及接口动态代理实现。

Mybatis和Spring的初步整合

  1. 下载MyBatis与Spring整合jar包:点击
  2. 创建一个Java工程,导入相应jar包并为该工程创建Spring配置文件:

在这里插入图片描述
3. 各文件源码如下:
4. application的部分配置文件如下

	<bean class="com.zaxxer.hikari.HikariDataSource" id ="dataSource" destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/test"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	<bean class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" value="#{dataSource }"></property>
		<property name="configLocation" value="classpath:mybatis-config.xml"></property>
		<property name="mapperLocations" value="classpath:sql/*.xml"></property>
	</bean>
	<mybatis-spring:scan base-package="com.zzu"/>

注:这是spring配置文件中bean的配置信息
第一个标签配置了数据库的连接池
第二个标签配置了Mybatis与Spring的结合,主要讲Mybatis中的数据库连接指定为spring配置的数据库的连接。以及加载,mybatis的配置文件及各种sql的配置文件
classpath:sql/*.xml:表明为当前目录下的sql包下的所有以xml结尾的配置文件
<mybatis-spring:scan base-package=“com.zzu”/>:扫描com.zzu包下的所有接口,并为其创建动态代理,放在Spring的IOC容器中。

area.xml的源码如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zzu.area.IAreaDao">
	<select id="select" resultType="java.lang.String">
		select name from area where code =#{code}
	</select>
</mapper>

注:DOCTYPE语句的作用同上
namespace属性用来匹配该sql语句作用的接口
select标签表示查看的sql语句,id属性指明该sql语句作用的方法。resultType属性指明该方法的返回值类型
mybatis-config的配置文件如下

<?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>
</configuration>

注:即使该mybatis-config的配置文件并没有任何配置标签依然不能省去,否则会报错
IAreaDao的源码如下:

package com.zzu.area;

public interface IAreaDao {
	public String select(String code);
}

test类的源码如下:

package com.zzu.test;

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;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.zzu.area.IAreaDao;

public class Test {
	public static void main(String[] args) throws IOException {
		ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");
		IAreaDao areaDao = applicationContext.getBean(IAreaDao.class);
		System.out.println(areaDao.getClass().getName());
		applicationContext.close();
	}
}

注:创建IOC容器
获取容器中的类(该类是jdk动态代理类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值