上图是大致目录结构和所需jar包,下面贴代码
实体类:SampleBean
package fdf.bean; public class SampleBean { private long id; private String name; private byte[] blobSample;//接收blob类型字段 private String clobSample;//接收clob类型字段 public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public byte[] getBlobSample() { return blobSample; } public void setBlobSample(byte[] blobSample) { this.blobSample = blobSample; } public String getClobSample() { return clobSample; } public void setClobSample(String clobSample) { this.clobSample = clobSample; } }ibatis配置文件
1、实体类映射sql的配置文件Sample.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> <typeAlias alias="Sample" type="fdf.bean.SampleBean"/> <resultMap class="Sample" id="resultSample"> <result property="id" column="id" /> <result property="name" column="name" /> <result property="blobSample" column="blobSample" jdbcType="BLOB" typeHandler="com.ibatis.sqlmap.engine.type.BlobTypeHandlerCallback" /> <result property="clobSample" column="clobSample" jdbcType="CLOB" javaType = "java.lang.String"/> </resultMap> <select id="findSampleList" parameterClass="Sample" resultClass="Sample" resultMap="resultSample"> select * from ibatis_spring_util </select> </sqlMap>2、加载映射配置的文件SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <sqlMap resource="fdf/config/ibatis/Sample.xml"/> </sqlMapConfig>连接数据库配置文件(以本机oracle为例)jdbc.properties
driver=oracle.jdbc.driver.OracleDriver url=jdbc\:oracle\:thin\:@127.0.0.1\:1521\:orcl username=**** password=*****Spring配置文件applicationContext.xml
<?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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:component-scan base-package="fdf"></context:component-scan> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:fdf/config/oracle/jdbc.properties</value> </property> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> <!--initialSize: 初始化连接--> <property name="initialSize" value="2"/> <!--maxIdle: 最大空闲连接--> <property name="maxIdle" value="2"/> <!--minIdle: 最小空闲连接--> <property name="minIdle" value="2"/> <!--maxActive: 最大连接数量--> <property name="maxActive" value="5"/> <!--removeAbandoned: 是否自动回收超时连接--> <property name="removeAbandoned" value="true"/> <!--removeAbandonedTimeout: 超时时间(以秒数为单位)--> <property name="removeAbandonedTimeout" value="180"/> <!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒--> <property name="maxWait" value="3000"/> <property name="poolPreparedStatements" value="false"/> <property name="defaultAutoCommit" value="true"/> </bean> <!-- 配置数据源 --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation"> <value>classpath:fdf/config/ibatis/SqlMapConfig.xml</value> </property> </bean> </beans>操作接口:SampleDao
package fdf.dao; import java.util.List; import fdf.bean.SampleBean; public interface SampleDao { public List<SampleBean> findSampleList(SampleBean sampleBean); }ibatis基础操作接口BaseDao
package fdf.dao; import java.sql.SQLException; import java.util.List; import javax.annotation.PostConstruct; import javax.annotation.Resource; import org.springframework.orm.ibatis.SqlMapClientTemplate; import com.ibatis.sqlmap.client.SqlMapClient; public class BaseDao<T> extends SqlMapClientTemplate{ @Resource(name = "sqlMapClient") private SqlMapClient sqlMapClient; @PostConstruct public void initSqlMapClient(){ super.setSqlMapClient(sqlMapClient); } @SuppressWarnings("unchecked") public List<Object> queryListNoPage(String sqlId,Object obj){ List<Object> list = null; try { list = (List<Object>) super.getSqlMapClient().queryForList(sqlId, obj); } catch (SQLException e) { e.printStackTrace(); } return list; } } 接口实现类SampleDaoImpl
package fdf.dao.impl; import java.util.List; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import fdf.bean.SampleBean; import fdf.dao.BaseDao; import fdf.dao.SampleDao; @Transactional @Service @Scope("prototype") public class SampleDaoImpl extends BaseDao<SampleBean> implements SampleDao{ @SuppressWarnings("unchecked") @Override public List<SampleBean> findSampleList(SampleBean sampleBean) { // TODO Auto-generated method stub return (List)queryListNoPage("findSampleList",sampleBean); } }
main方法入口SampleStart
package fdf.init; import java.util.List; import org.apache.log4j.PropertyConfigurator; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import fdf.bean.SampleBean; import fdf.dao.SampleDao; public class SampleStart { public static void sampleExcute(SampleBean sampleBean){ AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("fdf/config/spring/applicationContext.xml"); SampleDao sampleDao=(SampleDao)ctx.getBean("sampleDaoImpl"); List<SampleBean> list=sampleDao.findSampleList(sampleBean); for(int i=0;i<list.size();i++){ System.out.println("id======="+list.get(i).getId()); System.out.println("ClobSample======="+list.get(i).getClobSample()); } } public static void main(String[] args) { //初始化log4j PropertyConfigurator.configure("log4j.properties"); SampleBean sampleBean=new SampleBean(); SampleStart.sampleExcute(sampleBean); } }
本文是自己的慢慢积累,希望与大家共同进步,本文地址http://blog.csdn.net/wind_fdf/article/details/12889875,转载请说明,谢谢!!!
相关推荐
这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个jar文件是所有应用都要...
是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成java的hibernat ...
Spring:业务层,管理service,dao,工具类对象的。 MyBatis:持久层, 访问数据库的 用户发起请求--SpringMVC接收--Spring中的Service对象--MyBatis处理数据 SSM整合也叫做SSI (IBatis也就是mybatis的前身), 整合...
深田之星Database2Sharp,是一个NHibernate、Castle-... 11、增加Java框架(Ibatis+Spring+struts+Extjs)代码的生成;添加Java实体类快速生成。 12、增加企业级别的界面自动生成,集成了标准、美观、统一的界面元素。
11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 ...
11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...
11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...
11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...
10.2 在线网上支付功能工具类 10.3 发出支付请求过程 10.4 接受支付返回过程 10.5 小结 第11章 javaweb邮件发送系统(jsp+servlet+javabean) 11.1 javaweb邮件发送系统原理 11.2 下载邮件相关jar...
11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...
1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名...
☆ Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 ☆ Spring Web 模块:...
dbking是鉴于我们的开发经验和考虑,权衡出来的数据库工具,其主要考虑的方向有以下几点: 1、简洁。所有的核心接口都在一个类里边,这个类是DbKing,代码不过1000行,却提供了大量的高质量功能方法,使用...
语言工具类库 容器类 集合 链表 map 工具类 系统类 日期类 数字类 字符串+正则 流 字符流 字节流 语言特性 继承 封装 多态 JVM 多线程与并发 GC机制 GC收集器类型 串行 CMS 并行 G1 算法 ...
实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? Java面试题14.线程并发库和线程池的作用 Java面试题15.设计模式和常用的设计模式 Java面试题16....
jdao是一个轻量级的orm工具包,通过简单配置或者连接数据库提供表名它便可以自动生成与数据库表一一对应的dao类,生成的dao类提供了与SQL无关的增删改查的功能。在复杂的查询SQL中,我建议编程人员自己编写高效的SQL...
%>类似JSP)和Jmr标记(设置/获取) / for ...)模型:数据库模型(如表/视图),Java POJO模型,Xml文件模型,并包含转换/映射/转换工具操作:Java类可以将Java变量设置为模板。 支持任何类型的项目Maven,Gradle,...