您的位置:首页 > 其它

ibatis框架学习之搭建框架

2015-04-27 14:14 211 查看
之前学习过SSH框架,但是在工作之中没有实际用过,参加工作后用的是SringMVC。我是一个比较懒的家伙,刚刚进入公司时同事已经在用SpringMvc框架开发了,正所谓前人栽树后人乘凉,我没有仔细的研究整个框架的核心,只是略知皮毛;我知道这是很要命的。

因为有过以前ssh框架的学习经验,所以我是将struts spring和ibatis结合起来进行学习

一、框架的搭建

1、所需要的jar包以及相关的作用简介

a、struts 版本2.2.1

struts2-core-2.2.1.jar

struts2-spring-plugin-2.2.1.jar

xwork-core-2.2.1.jar

b、spring 版本 3.0.5

org.springframework.aop-3.0.5.RELEASE.jar Spring的面向切面编程,提供AOP(面向切面编程)实现

org.springframework.asm-3.0.5.RELEASE.jar Spring独立的asm程序,Sp

ring2.5.6的时候需要asmJar包3.0.7开始提供他自己独立的asmJar

org.springframework.aspects-3.0.5.RELEASE.jar Spring提供对AspectJ框架的整合

org.springframework.beans-3.0.5.RELEASE.jar SpringIoC(依赖注入)的基础实现

org.springframework.context-3.0.5.RELEASE.jar

org.springframework.context.support-3.0.5.RELEASE.jar Spring-context的扩展支持,用于MVC方面

org.springframework.core-3.0.5.RELEASE.jar Spring3.0.5的核心工具包

org.springframework.expression-3.0.5.RELEASE.jar Spring表达式语言

org.springframework.instrument-3.0.5.RELEASE.jar Spring3.0.5对服务器的代理接口

org.springframework.instrument.tomcat-3.0.5.RELEASE.jar Spring3.0.5对Tomcat的连接池的集成

org.springframework.jdbc-3.0.5.RELEASE.jar 对JDBC的封装

org.springframework.jms-3.0.5.RELEASE.jar 为简化JMS API的使用而作的简单封装

org.springframework.oxm-3.0.5.RELEASE.jar Spring 对Object/XMl的映射支持,可以让Java与XML之间来回切换

org.springframework.test-3.0.5.RELEASE.jar 对Junit等测试框架的简单封装

org.springframework.transaction-3.0.5.RELEASE.jar 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理

org.springframework.web-3.0.5.RELEASE.jar SpringWeb下的工具包

org.springframework.web.portlet-3.0.5.RELEASE.jar 基于protlet的MVC实现

org.springframework.web.servlet-3.0.5.RELEASE.jar 基于servlet的MVC实现

org.springframework.web.struts-3.0.5.RELEASE.jar 整合Struts的时候的支持

以上是相关jar包的作用简介,参考http://blog.csdn.net/w_wind/article/details/18370715

c、ibatis

ibatis-2.3.4.726.jar

mybatis-spring-1.2.1.jar

二、配置文件

a、创建实体类

package com.northking.entity;

import java.util.Date;

public class Student {
private int id;
private String name;
private Date birth;
private String tel;
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;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String toString(){
return name;}
}


b、配置实体类映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC
"-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="com.northking.dao/studentDao">
<!-- 设置本映射中的别名: 方便使用 -->
<typeAlias alias="student" type="com.northking.entity.Student" />
<typeAlias alias="string" type="java.lang.String" />

<!-- 增删查改的Statement配置 -->
<select id="getAllStudent" resultClass="student"><![CDATA[
SELECT * FROM tb1_student
]]></select>
<select id="getStudent" resultClass="student"><![CDATA[
select name,birth,tel from tb1_student where name like '%$name$%'

]]></select>
<select id="findById" resultClass="student" parameterClass="integer"><![CDATA[
SELECT birth, name FROM tb1_student WHERE id=#id#
]]></select>
<update id="updateStudent" parameterClass="student"><![CDATA[
UPDATE tb1_student SET name=#name#,birth=#birth#,tel=#tel# WHERE id=#id#
]]></update>
<insert id="addStudent" parameterClass="student"><![CDATA[
INSERT INTO tb1_student (id,name,birth,tel) VALUES (#id#,#name#,#birth#,#tel#)
]]></insert>
<delete id="deleteStudent" parameterClass="integer"><![CDATA[
DELETE FROM tb1_student WHERE id=#id#
]]></delete>
</sqlMap>

c、配置ibatis映射文件

<?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 cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"
maxSessions="10" maxTransactions="5" useStatementNamespaces="true" />
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<!-- JDBC连接需要的配置 -->
<property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="JDBC.ConnectionURL"
value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="JDBC.Username" value="scott" />
<property name="JDBC.Password" value="scott" />
<!-- 连接池配置 -->
<property name="Pool.MaximumActiveConnections" value="10" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from sample" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<!-- 映射文件 -->
<sqlMap resource="com/northking/entity/Student.xml"/>
<sqlMap resource="com/northking/entity/User.xml"/>
</sqlMapConfig>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: