Spring整合Ibatis

javaibatisspring

  • 所需jar清单           ibatis-2.*.jar    *为任意版本,下同,ibatis工作包
              spring.jar
              spring-ibatis.jar  spring集成ibatis插件包
              commons-dbcp.jar   dbcp,pool为数据库连接池组件包
              commons-pool-1.5.2.jar
              commons-logging.jar
              ojdbc14.jar
  • 配置

    ibatis配置sql-map-config.xml

Xml代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings errorTracingEnabled="true"
  useStatementNamespaces="false"
  cacheModelsEnabled="true"
  enhancementEnabled="true"
  lazyLoadingEnabled="true"
  maxRequests="32"
  maxSessions="10"
  maxTransactions="5"
  />
<sqlMap resource="com/pb/pojo/Student.xml" />
</sqlMapConfig>

    spring配置applicationContext.xml

Xml代码

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<!-- 配置数据源 -->

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

destroy-method="close">

<property name="driverClassName" value="${jdbc.driverClassName}" />

<property name="url" value="${jdbc.url}" />

<property name="username" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

</bean>

<!-- 结束 -->

<!-- 加载属性文件 -->

<bean id="propertyConfigurer"

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

<value>

config/database.properties

</value>

</list>

</property>

</bean>

<!--结束  -->

<!-- ibatis配置 -->

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

<property name="configLocation" value="config/sql-map-config.xml">

</property>

<property name="dataSource" ref="dataSource" />

</bean>

<!-- 结束 -->

<!-- DAO配置 -->

<bean id="StudentDao" class="com.pb.dao.StudentDao">

<property name="sqlMapClient" ref="sqlMapClient" />

</bean>

<!-- 结束 -->

</beans>

database.properties配置

Java代码

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver

jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl

jdbc.username=test

jdbc.password=tiger

dbcp.initialSize=5

dbcp.maxActive =100

dbcp.maxIdle =5

dbcp.maxWait =50

dbcp.poolPreparedStatements =false

dbcp.defaultAutoCommit =false

Student.xml配置

Xml代码

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMap

PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"

"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="stu">

<resultMap class="com.pb.pojo.Student" id="Student">

<result property="sid" column="sid" javaType="java.lang.Integer" />

<result property="sname" column="sname" />

<result property="age" column="age" javaType="java.lang.Integer" />

<result property="tel" column="tel" />

<result property="address" column="address" />

<result property="cid" column="cid" javaType="java.lang.Integer" />

</resultMap>

<select id="findAllStudent" resultMap="Student">

select * from student

</select>

</sqlMap>

StudentDao.java

Java代码

package com.pb.dao;

import java.sql.SQLException;

import java.util.List;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

import com.pb.pojo.Student;

@SuppressWarnings("unchecked")

public class StudentDao extends SqlMapClientDaoSupport {

public List<Student> findAllStudent() throws SQLException {

List<Student> result = getSqlMapClient().queryForList("findAllStudent");

System.out.println(result);

return result;

}

}

  • 测试

Java代码

public static void main(String[] args) throws Exception {

ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("config/applicationContext.xml");

StudentDao studentDao = (StudentDao) applicationContext.getBean("StudentDao");

studentDao.findAllStudent();

}

Spring整合Ibatis的更多相关文章

  1. Spring整合Ibatis之SqlMapClientDaoSupport

    前言 HibernateDaoSupport   SqlMapClientDaoSupport . 其实就作用而言两者是一样的,都是为提供DAO支持,为访问数据库提供支持. 只不过HibernateD ...

  2. Spring 整合 ibatis

    是的,真的是那个不好用的ibatis,不是好用的mybatis. 由于工作需要用到ibatis需要自己搭建环境,遇到了不少的坑,做一下记录. 一.环境配置 Maven JDK1.6 (非常重要,使用S ...

  3. Spring2.5整合Ibatis入门级开发实例

      分类: SPRING IBATIS2010-11-22 20:19 1170人阅读 评论(0) 收藏 举报 ibatisspringstringpropertiesclassuser 最近一直在看 ...

  4. spring+struts2+ibatis 框架整合以及解析

    一. spring+struts2+ibatis 框架 搭建教程 参考:http://biancheng.dnbcw.net/linux/394565.html 二.分层 1.dao: 数据访问层(增 ...

  5. spring+springmvc+ibatis整合注解方式实例【转】

    源自-----> http://shaohan126448.iteye.com/blog/2033563 (1)web.xml文件(Tomcat使用) 服务器根据配置内容初始化spring框架, ...

  6. spring+springmvc+ibatis整合注解方式实例

    需求说明 实现用户通过数据库验证登录需求.採用 Myeclipse+Tomcat 6.0+Mysql 5.0+JDK 1.6 2.数据库表 开发所用是Mysql数据库,仅仅建立单张用户表T_USER, ...

  7. Intellij IDEA +MAVEN+Jetty实现Spring整合Mybatis

    1 pom.xml(这里出现transaction错误,是版本的问题) <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  8. Spring整合MyBatis

    前言:MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的XML或注解用 ...

  9. Spring学习总结(六)——Spring整合MyBatis完整示例

    为了梳理前面学习的内容<Spring整合MyBatis(Maven+MySQL)一>与<Spring整合MyBatis(Maven+MySQL)二>,做一个完整的示例完成一个简 ...

随机推荐

  1. background-clip 背景图片做适当的裁剪

    background-clip 用来将背景图片做适当的裁剪以适应实际需要. 语法: background-clip : border-box | padding-box | content-box | ...

  2. 用户不在sudoers文件中的解决方法

    1.更改/etc/sudoers权限为777 2.修改文件中 root    ALL=(ALL)       ALL 下方增加 user    ALL=(ALL)       ALL 3.回复文件/e ...

  3. Linux C 程序 信号及信号的处理(19)

    信号及信号的处理 1.Linux信号的介绍  信号是一种软件中断.Linux系统中根据POSIX标准扩展的信号机制.  1.信号来源      1.硬件方式           1.当用户按下某个键, ...

  4. JavaScript 内部对象

    欢迎访问我的个人博客:http://blog.cdswyda.com/ 原文文地址:JavaScript 内部对象

  5. 关于ionic的跨域问题

    例如你的api原地址请求是 http://10.100.100.100:8080/service/, 1.那么你应该在项目内api请求改成 /service/, 注意红色部分是ionic serve ...

  6. [大牛翻译系列]Hadoop 翻译文章索引

    原书章节 原书章节题目 翻译文章序号 翻译文章题目 链接 4.1 Joining Hadoop(1) MapReduce 连接:重分区连接(Repartition join) http://www.c ...

  7. 每日一“酷”之copy

    Copy – 复制对象 作用:提供一些函数,可以使用浅副本或深副本语义复制对象. copy模块包括两个函数copy()和deepcopy(),用于复制现有的对象 1.  浅副本 copy()创建的浅副 ...

  8. SQLserver通过链接服务器连接oracle

    在SQLserver中一直使用的是DTS抽取数据,但是DTS微软只支持到2008,到了2012后就没有这个工具了,现在需要在SQLserver跟Oracle中间建立一个通道,借助这个通道,将Oracl ...

  9. Oracle使用%rowtype变量存储一行数据

    在Oracle中,%rowtype是用来存储一行数据的 语法: rowType_name table_name%rowtype rowType_name :变量名 table_name:指定的表名 具 ...

  10. iOS多线程GCD 研究

    Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispat ...