spring 与 mybatis 整合笔记

原创 2013年12月04日 10:27:09

参考 http://www.cnblogs.com/wushiqi54719880/archive/2011/07/27/2117944.html

 

1、创建一个model对象

package adtec.dbtest.model;

public class K_user {
	private Integer id;

	private String name;

	private Integer age;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}
}

 

2、新建一个dao对象,对数据库的操作

package adtec.dbtest.dao;

import adtec.dbtest.model.K_user;

public interface K_userDao {

	public void insert(K_user k_user);
}

 

3、创建与dao对象对应的xml操作文件(主要是执行它来操作数据库)

<?x ml 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="adtec.dbtest.dao.K_userDao">
	
	<insert id="insert" parameterType="adtec.dbtest.model.K_user">
		INSERT INTO K_USER(NAME,AGE) values(#{name},#{age})
	</insert>

</mapper>

 

备注:xml文件名称要与dao文件名称对应,例如K_userDao对应的就是K_userDao.xml文件,id名称要与dao 的方法对应起来。

 

编写mybatis的配置文件:

<?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>
    <mappers>
        <mapper resource="adtec/dbtest/dao/K_userDao.xml"/>
    </mappers>
</configuration>

 

4、编写一个service接口,定义方法

package adtec.dbtest.service;

import adtec.dbtest.model.K_user;

public interface K_userService {

	public void   insert(K_user k_user);
}

 

5、对service接口的实现,主要目的是为了处理多个功能,方便事物的处理

package adtec.dbtest.service.imp;

import adtec.dbtest.dao.K_userDao;
import adtec.dbtest.model.K_user;
import adtec.dbtest.service.K_userService;

public class K_userServiceImp implements K_userService{

	K_userDao k_userDao;
	
	public K_userDao getK_userDao() {
		return k_userDao;
	}

	public void setK_userDao(K_userDao k_userDao) {
		this.k_userDao = k_userDao;
	}

	@Override
	public void insert(K_user k_user) {
		k_userDao.insert(k_user);
	}

}

 

6、spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">


	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="url">
			<value>jdbc:mysql://127.0.0.1:3306/hb</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>admin</value>
		</property>
	</bean>

<!-- 
如果不是在src目录下面,而是在WEB-INF/config/mybatis目录下面
<property name="configLocation" value="classpath:../config/mybatis/MyBatis-Configuration.xml"></property>
 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="configLocation" value="classpath:MyBatis-Configuration.xml"></property>
	</bean>

	<bean id="tm" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>

	<tx:annotation-driven transaction-manager="tm" />

	<bean class="adtec.dbtest.service.imp.K_userServiceImp" name="k_userservice">
		<property name="k_userDao" ref="k_userDao"></property>
	</bean>

	<!-- 配置dao层的接口,将接口提供给servivc使用 -->
	<bean id="k_userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
		<property name="mapperInterface" value="adtec.dbtest.dao.K_userDao"></property>
		<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
	</bean>

</beans>

 

7、编写一个测试类

package adtec.dbtest.junit;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import adtec.dbtest.model.K_user;
import adtec.dbtest.service.K_userService;

public class Test {

	@org.junit.Test
	public void insert() {
		ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
		K_userService us = (K_userService) ap.getBean("k_userservice");
		K_user u = new K_user();
		u.setName("555");
		u.setAge(555);
		us.insert(u);
//		Integer.parseInt("sss");
	}
}

 

  • 大小: 10.1 KB

Mybatis系列(九)Spring & Mybatis整合

Mybatis系列之Spring & Mybatis整合 引言 前面用了九篇博客简单的向大家介绍了Mybatis的基础知识及简单用例。了解了这些知识后,还差最后一招,我们就可以修炼好独孤九剑,进入到...
  • chris_mao
  • chris_mao
  • 2015年10月05日 00:23
  • 5475

spring boot整合mybatis

1,加入依赖如果你想在springboot中使用MyBatis-Spring-Boot-Starter模块,你只需要加入 mybatis-spring-boot-autoconfigure.jar就可...
  • qq27Ke
  • qq27Ke
  • 2017年03月31日 10:52
  • 2643

springboot与mybatis整合实例详解(完美融合)

springboot大家都知道了,搭建一个spring框架只需要秒秒钟。下面给大家介绍一下springboot与mybatis的完美融合:        首先:创建一个名为springboot-...
  • DJJT10
  • DJJT10
  • 2017年01月09日 10:55
  • 213

spring+springmvc+mybatis整合详细步骤

为了和大家一起学习进步,相互交流,如有不对的地方希望大家指出来
  • qianyou6026
  • qianyou6026
  • 2017年06月17日 12:38
  • 2816

【MyBatis框架】mybatis和spring整合

spring和mybatis整合 1.整合思路 需要spring通过单例方式管理SqlSessionFactory。 spring和mybatis整合生成代理对象,使用SqlSessionFact...
  • u013517797
  • u013517797
  • 2015年07月16日 09:33
  • 2506

mybatis整合Spring的基本步骤

mybatis整合Spring的基本步骤
  • XffGem
  • XffGem
  • 2016年01月08日 10:51
  • 3224

Spring+SpringMVC+MyBatis深入学习及搭建(九)——MyBatis和Spring整合

1.整合思路 需要Spring通过单例方式管理SqlSessionFactory。 Spring和MyBatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(...
  • site008
  • site008
  • 2017年08月09日 16:18
  • 346

spring源码剖析(八)spring整合mybatis原理

MyBatis相信很多人都会使用,但是当MyBatis整合到了spring中,我们发现在Spring中使用更加方便了。既然那么方便,Spring到底为我们做了哪些工作呢,它如何将MyBatis整合到S...
  • fighterandknight
  • fighterandknight
  • 2016年05月21日 00:52
  • 14905

MyBatis与Spring整合——通过官方文档进行最简单的整合

整合前先重新理下两个框架的基础的东西。以前搭Hibernate那些,都是是自己看着别人已经搭好的视频,然后自己重新理了一次。这次Mybatis与Spring的整合。从最原始的官方文档开始搭起。要学的,...
  • iaiti
  • iaiti
  • 2016年12月05日 17:55
  • 4379

spring+SpringMVC+mybati整合JBPM

网上看到这方面的资料很少,即使有也给的不全,我自己项目有这方面的需求,花了几天时间,终于整合成功。1原先的spring+SpringMVC+mybati配置 jdbc.xml ...
  • zhou920786312
  • zhou920786312
  • 2017年09月04日 11:02
  • 1036
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring 与 mybatis 整合笔记
举报原因:
原因补充:

(最多只允许输入30个字)