Mybaits为什么要整合Spring?
说白了其实就想使用Spring提供的服务,比如Spring的事务管理、Spring的IOC对Bean进行管理等。
Mybatis怎么整合Spring?
由于目前Spring官方还没有出整合Mybatis的特性,所以这里在Spring框架和MyBatis框架上再添加用于整合的框架“mybatis-spring-1.0.2.jar” (该框架时MyBatis官方自己出的)。
(1)新建一个Web工程,名称为MybatisSpring。
(2)将Spring3.0.3、Mybatis3.0.6、Mybatis-Spring1.0.2、log4j、Oracle驱动和DBCP连接池的JAR包放到Web工程的lib下面,具体的JAR包如下:
classes12.jar
log4j-1.2.16.jar
mybatis-3.0.6.jar
mybatis-spring-1.0.2.jar
org.springframework.aop-3.0.3.RELEASE.jar
org.springframework.asm-3.0.3.RELEASE.jar
org.springframework.aspects-3.0.3.RELEASE.jar
org.springframework.beans-3.0.3.RELEASE.jar
org.springframework.context-3.0.3.RELEASE.jar
org.springframework.context.support-3.0.3.RELEASE.jar
org.springframework.core-3.0.3.RELEASE.jar
org.springframework.expression-3.0.3.RELEASE.jar
org.springframework.jdbc-3.0.3.RELEASE.jar
org.springframework.transaction-3.0.3.RELEASE.jar
org.springframework.web-3.0.3.RELEASE.jar
commons-logging-1.1.1.jar
commons-dbcp-1.2.jar
commons-pool-1.4.jar
(3)在src下面新建log4j.properties文件,该文件的内容如下:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout
(4)在Oracle数据库执行以下SQL,创建一个USER_INFO的表:
-- Create table
create table USER_INFO
(
ID NUMBER(12) not null,
NAME VARCHAR2(50)
);
--Insert data
insert into USER_INFO(ID,NAME) values(1,'张三');
(5)新建一个Java类UserInfo.java,该类的内容如下:
package com.user;
public class UserInfo {
private int id;
private String name;
public UserInfo() {
}
public UserInfo(String name) {
this(0, name);
}
public UserInfo(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "ID: " + id + ", Name: " + name;
}
}
(6)在com.user.sqlmap下面新建UserInfo.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="User">
<select id="selectUser" parameterType="int" resultType="UserInfo">
<![CDATA[
select * from user_info where id = #{id}
]]>
</select>
</mapper>
(7)在src下面新建mybatis.cfg.xml文件,该文件的内容如下:
<?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>
<typeAliases>
<typeAlias alias="UserInfo" type="com.user.UserInfo" />
</typeAliases>
<mappers>
<mapper resource="com/user/sqlmap/UserInfo.xml" />
</mappers>
</configuration>
(8)新建一个Java类UserService.java,该类的内容如下:
package com.user;
import org.mybatis.spring.SqlSessionTemplate;
public class UserService {
private SqlSessionTemplate sqlSession;
public SqlSessionTemplate getSqlSession() {
return sqlSession;
}
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
public UserInfo selectUser(){
UserInfo user = null;
try {
user = (UserInfo) sqlSession.selectOne("User.selectUser", "1");
} catch (Exception e) {
e.printStackTrace();
}
return user;
}
}
(9)在src下面新建applicationContext.xml文件,该文件的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
default-autowire="byName"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:SID" />
<property name="username" value="xxxx" />
<property name="password" value="xxxx" />
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="30"></property>
<property name="maxWait" value="500"></property>
<property name="defaultAutoCommit" value="true"></property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis.cfg.xml"></property>
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
<bean id="userService" class="com.user.UserService">
<property name="sqlSession" ref="sqlSessionTemplate" />
</bean>
</beans>
(10)新建一个测试Java类UserInfoTest.java,该类的具体内容如下:
package com.user;
import java.io.IOException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserInfoTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = (UserService)context.getBean("userService");
UserInfo userInfo = userService.selectUser();
System.out.println(userInfo);
}
}
(11)右键UserInfoTest 类,选择Run As Application,运行MyBaits操作数据库。
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2012-02-11 21:13:42,156 DEBUG [java.sql.PreparedStatement] -==> Executing: select * from user_info where id = ?
2012-02-11 21:13:42,156 DEBUG [java.sql.PreparedStatement] -==> Parameters: 1(String)
ID: 1, Name: 张三
分享到:
相关推荐
描述中提到"基本常用jar包的整合",意味着这个压缩包包含了一些基础且常用的库,这些库是进行Spring和MyBatis整合所必需的。例如,Spring的`spring-context`、`spring-beans`、`spring-jdbc`和`spring-tx`,以及...
SSM(Spring、SpringMVC、MyBatis)框架整合是Java开发中常见的技术栈,主要用于构建企业级的Web应用程序。在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常...
MyBatis和Spring的整合是Java开发中常见的一种技术组合,它们可以无缝集成,使得数据库操作更为便捷。这里提到的两个jar包——mybatis-3.2.7.jar和mybatis-spring-1.2.2.jar,是实现这种整合的关键组件。 1. **...
项目名称:商品信息显示系统 使用技术:Springmvc+spring+mybatis+Layui 实现功能: 1、完成ssm+layui的搭建整合 2、完成商品的分页展示 特点:将后台mysql数据显示在layui页面上
整合Spring和Mybatis的关键在于Spring的DataSource、TransactionManager和SqlSessionFactoryBean的配置。在Spring的配置文件中,我们需要定义数据源(DataSource),这是连接数据库的桥梁。接着,创建...
这个“mybatis与spring整合全部jar包”包含了这三个框架整合所需的所有依赖库,使得开发者可以快速搭建SSM项目。 首先,让我们深入了解一下这三个组件: 1. **Spring**:Spring 是一个全面的Java企业级应用开发...
5. **整合MyBatis和Spring**:使用Spring的`@Autowired`注解注入Mapper接口,使MyBatis的SQL执行可以通过Spring的依赖注入来调用。 6. **创建Controller**:使用Spring MVC的`@Controller`注解创建控制器类,处理...
这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,使得开发者能够快速搭建起一个功能完备的后端服务。 1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对...
mybatis与spring整合时所依赖的jar包,包括: 1.Mybatis所需的jar包括: ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.2.jar cglib-3.2.5.jar commons-logging-1.2.jar javassist-3.22.0-CR2.jar log4j-...
现在我们来详细讨论一下Spring-Mybatis整合的相关知识点。 1. **Spring 概述**: Spring 是一个全面的企业级应用框架,它提供了一个容器来管理对象的生命周期和依赖关系。Spring 的核心特性包括依赖注入(DI)和...
在本文中,我们将深入探讨如何整合MyBatis 3.4.5版本与Spring框架,以便在实际项目中实现高效的数据访问。 首先,我们需要理解MyBatis的核心概念。MyBatis的主要组成部分包括:XML配置文件、Mapper接口和Mapper XML...
在使用这个整合包时,开发者首先需要配置Spring的上下文文件,声明Bean并管理依赖。然后,配置Mybatis的SqlSessionFactory,定义Mapper接口和XML映射文件,实现数据的CRUD操作。接着,利用Spring MVC的...
3. **简化配置**:使用Spring的XML配置或者Java配置,可以将Mybatis的配置整合进去,减少重复的XML配置。 四、整合步骤 1. **添加依赖**:在项目pom.xml中添加Mybatis和Spring的相关依赖库。 2. **配置Mybatis**:...
2. **MyBatis-Spring整合**:配置MyBatis与Spring的集成,包括SqlSessionFactoryBean、MapperScannerConfigurer、SqlSessionTemplate和SqlSessionDaoSupport的使用。 3. **Spring管理MyBatis的事务**:如何通过...
标题中的"mybatis和spring整合jar包"表明我们要讨论的是如何将两个流行的Java框架——MyBatis和Spring——集成在一起,以便在同一个项目中利用它们各自的优势。MyBatis是一个轻量级的持久层框架,它允许开发者用SQL...
mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1
这个实例中的"mybatis整合spring实例(完整版)"文件可能包含了上述所有步骤的源代码,包括Spring的配置文件、MyBatis的配置文件、Mapper接口、XML文件以及相关的Java类。通过仔细阅读和理解这些代码,开发者可以...
1. 配置Spring:创建Spring的配置文件,定义Struts2的Action Bean以及MyBatis的SqlSessionFactory和Mapper接口的Bean,设置数据源和事务管理器。 2. 配置Struts2:在struts.xml中定义Action类,指定结果视图,同时...
3. **Spring与MyBatis整合**:整合Spring和MyBatis主要涉及以下几个步骤: - **配置数据源**:在Spring的配置文件中,我们需要定义数据源(DataSource),这是连接数据库的关键。 - **配置SqlSessionFactory**:...