- 浏览: 342691 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
alafqq:
很好的一篇启蒙hashmap的文章;HASHTABLE的93行 ...
使用数组和链表实现hash表存储信息 -
小帅1127:
我擦,我还以为有什么大坑呢,这也写出来。。。
if..else if和if..if的区别 -
fncj:
转下http://www.dodoer.com
hadoop单机版搭建图文详解 -
yueshang520:
Spring注解原理的详细剖析与实现 -
fncj:
转下,谢谢http://www.whohelpme.com/b ...
Spring注解原理的详细剖析与实现
使用ibatis的理由:
1. 知道怎样操作10种以上的数据库
2. 可配置的caching(包括从属)
3. 支持DataSource、local transaction managemen和global transaction
4. 简单的XML配置文档
5. 支持Map, Collection, List和简单类型包装(如Integer, String)
6. 支持JavaBeans类(get/set 方法)
7. 支持复杂的对象映射(如populating lists, complex object models)
8. 对象模型从不完美(不需要修改)
9. 数据模型从不完美(不需要修改)
10. 你已经知道SQL,为什么还要学习其他东西
11. ibatis把sql语句从Java源程序中独立出来,放在单独的XML文件中编写,给程序的维护带来了很大便
利。
12. ibatis封装了底层JDBC API的调用细节,并能自动将结果集转换成Java Bean对象,大大简化了Java数
据库编程的重复工作。
13. 简单易于学习,易于使用, 非常实用。
14. 因为Ibatis需要程序员自己去编写sql语句,程序员可以结合数据库自身的特点灵活控制sql语句,因
此能够实现比hibernate等全自动orm框架更高的查询效率,能够完成复杂查询。
15. 阿里巴巴、慧点科技等多家知名软件公司都使用Ibatis。(这才是重点啊,不学何以学sofa啊)
环境搭建流程:(java语言+oralce)
1、下载jar包
2、eclipse中新建工程,将相关jar包导入ibatis-2.3.0.677.jar ojdbc14.jar
3、配置文件(三种):
jdbc连接的属性文件
总配置文件
关于每个实体的映射文件
SqlMap.properties(oralce版)
driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@127.0.0.1:1521:wxy username=wxy password=123456
SqlMap.properties(mysql版)
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/wxy username=root password=123456
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!--添加JDBC配置文件--> <properties resource="SqlMap.properties"/> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property value="${driver}" name="JDBC.Driver"/> <property value="${url}" name="JDBC.ConnectionURL"/> <property value="${username}" name="JDBC.Username"/> <property value="${password}" name="JDBC.Password"/> </dataSource> </transactionManager> <!--添加实体类映射文件,注意路径的格式--> <sqlMap resource="com/wxy/Student.xml"/> </sqlMapConfig>
实体类的映射文件Student.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.rog//DTD SQL Map 2.0//EN" "http://ibatis.apche.org/dtd/sql-map-2.dtd"> <sqlMap> <!-- <resultMap id="StudentResult" class="Student"> <result property="sid" column="sid"/> <result property="sname" column="sname"/> <result property="major" column="major"/> <result property=birth" column="birth"/> </resultMap> --> </sqlMap>
创建对应的Student.java
package com.wxy; import java.sql.Date; public class Student { private int sid=0; private String sname = null; private String major = null; private Date birth = null; private float score = 0; //保证要有无参构造器 public Student(){} public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } public float getScore() { return score; } public void setScore(float score) { this.score = score; } }
定义crud接口IStudentDao.java
package com.wxy; import java.util.List; public interface IStudentDao { public void addStudentBySequence(Student student); public void addStudent(Student student); public void deleteStudentById(int id); public void updateStudentById(Student student); public List<Student>queryAllStudent(); public Student queryStudentById(int id); public List<Student>queryStudentByName(String name); }
在Student.xml中配置sql语句:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.rog//DTD SQL Map 2.0//EN" "http://ibatis.apche.org/dtd/sql-map-2.dtd"> <sqlMap> <!-- <resultMap id="StudentResult" class="Student"> <result property="sid" column="sid"/> <result property="sname" column="sname"/> <result property="major" column="major"/> <result property=birth" column="birth"/> </resultMap> --> <!-- typeAlias别名,缩减类名前的包名字 --> <typeAlias alias="Student" type="com.wxy.Student"/> <selet id ="selectAllStudent" resultClass="Student"> select * from student </selet> <!--查询所有学生--> <select id="selectAllStudent" resultClass="Student"> select * from student </select> <!--根据id查询学生--> <select id="selectStudentById" parameterClass="int" resultClass="Student"> select * from student where id=#id# </select> <!--添加学生--> <insert id="insertStudent" parameterClass="Student"> insert into Student(id, name, major, birth, score) values (#id#, #name#, #major#, #birth#, #score#) </insert> <!--根据id删除学生--> <delete id="deleteStudentById" parameterClass="int"> delete from student where id = #id# </delete> <!--根据sid修改学生--> <update id="updateStudentById" parameterClass="Student"> update Student set name=#name# major=#major# score=#score# birth=#birth# where id=#id# </update> <!--模糊查询--> <select id="selectStudentByName" parameterClass="String" resultClass="Student"> select id, name, major, birth, score from Student where name like '%$name$%' </select> <!--主键自增方式添加学生--> <insert id="insertStudentBySequence" parameterClass="Student"> <selectKey resultClass="int" keyProperty="id"> select studentPKSequence.nextVal from dual </select> insert into Student(id, name, birth, major, score) values(#id#, #name#, #birth#, #major#, #score#) </insert> </sqlMap>
写接口的实现类IStudentDAOImpl .java
package com.wxy; import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import java.util.List; import com.ibatis.sqlmap.client.SqlMapClient; public class IStudentDAOImpl implements IStudentDAO{ private static SqlMapClient sqlMapClient = null; /** 读取配置文件*/ static{ try{ Reader reader=com.ibatis.common.resources.Resources.getResourceAsReader("com/wxy/SqlMapConfig.xml"); sqlMapClient = com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); }catch(IOException e){ e.printStackTrace(); } } //查询所有学生 public List<Student>queryAllStudent(){ List<Student>studentList = null; try{ studentList = sqlMapClient.queryForList("selectAllStudent"); }catch(SQLException e){ e.printStackTrace(); } return studentList; } //根据id查询学生 public Student queryStudentById(int id){ Student student = null; try{ student = (Student)sqlMapClient.queryForObject("selectStudentById",id); }catch(SQLException e){ e.printStackTrace(); } return student; } //添加学生 public void addStudent(Student student){ try{ sqlMapClient.insert("insertStudent", student); }catch(SQLException e){ e.printStackTrace(); } } //根据sid删除学生 public void deleteStudentById(int id){ try{ sqlMapClient.delete("deleteStudentById", id); }catch(SQLException e){ e.printStackTrace(); } } //根据id修改学生 public void updateStudentById(Student student){ try{ sqlMapClient.update("updateStudentById",student); }catch(SQLException e){ e.printStackTrace(); } } //模糊查询 public List<Student>queryStudentByName(String name){ List<Student>studentList = null; try{ studentList = sqlMapClient.queryForList("selectStudentByName", name); }catch(SQLException e){ e.printStackTrace(); } return studentList; } //根据主键自增方式添加学生,让数据库自动给对象设定id public void addStudentBySequence(Student student){ try{ sqlMapClient.insert("insertStudentBySequence",student); }catch(SQLException e){ e.printStackTrace(); } } @Override public void updateStudentById(int id) { // TODO Auto-generated method stub } }
编写测试类 ibatisTest.java
package com.wxy; public class ibatisTest { /** * @param args */ public static void main(String[] args) { IStudentDAO dao = new IStudentDAOImpl(); for(Student student:dao.queryAllStudent()){ System.out.println(student); } } }
- ibatis-2.3.0.677.jar (374.5 KB)
- 下载次数: 57
- ojdbc14.jar (1.1 MB)
- 下载次数: 39
- iBATIS-SqlMaps-2_cn.pdf (982.9 KB)
- 描述: Ibatis-sqlmaps-2_cn.pdf
- 下载次数: 28
- mysql-connector-java-5.1.17-bin.jar (769.5 KB)
- 下载次数: 17
发表评论
-
使用CGLIB实现AOP功能与AOP概念解释 .
2011-08-19 10:30 1424第三方创建代理对象的框架cglib,目标类可以不实现接口 ... -
编码实现用JDK中的Proxy实现springAOP功能
2011-08-18 15:04 792http://blog.csdn.net/iamtheevil ... -
Spring注解原理的详细剖析与实现
2011-08-14 23:09 84350本文主要分为三部分: ... -
Spring装配基本属性的原理分析与代码实现
2011-08-11 15:37 1481首先,做一个配置属性的基本测试。修改beans.xml,使引用 ... -
编码剖析Spring依赖注入的原理
2011-08-10 20:01 1868一、注入依赖对象 基本类型对象注入: <b ... -
Spring的三种实例化Bean的方法
2011-08-10 14:03 1Spring的三种实例化Bean的方法 1、 使用 ... -
Spring管理bean的原理自定义实现
2011-08-10 10:44 62441、Spring通过BeanDefinition管理基于S ... -
spring环境搭建与测试
2011-08-10 08:40 3473Chapter1、搭建与测试spring的环境 1、 ... -
log4j的使用与详细分析
2011-08-05 13:32 2692一、什么是log4j? http://logging.a ... -
log4j使用详解
2011-08-04 23:05 2http://logging.apache.org/log4j ... -
spring入门及Demo
2011-07-29 16:01 0一、Spring是什么? Spring是一个开源框架,它 ... -
div内页面背景图片无法显示解决方法
2011-03-14 21:12 1385用photoshop打开背景图片,在“图像”菜单下将“模式 ... -
web开发之感悟篇
2011-02-27 19:10 1609学而不思则罔,思而不学则殆。 出处:《论语·为政 ... -
CSS学习笔记(1)
2011-02-19 23:35 1256一、CSS基本语法 1、 所有css样式申明都是大小写无关 ... -
web学习记录(一些问题的解决方案)
2011-02-16 11:51 12681、eclipse中the import javax.serv ... -
JSP工作原理浅析
2011-01-19 02:04 1404jsp第一次被请求时,jsp引擎把该jsp文件转换成 ... -
servlet学习笔记
2011-01-19 01:13 10191、servlet和jsp有什么区别? ... -
session机制深入理解
2011-01-18 02:18 29131、什么是session? ... -
jsp与servlet传递产生乱码的根源及解决方案
2011-01-13 03:31 3028一、基本概念 1、Jsp页面指令也叫做page指令。Pag ... -
servlet学习入门总结
2010-11-05 00:06 10351、 jsp和servlet: 从完成功能上来说,ja ...
相关推荐
4. **环境搭建**:创建SqlMapConfig.xml文件,配置数据源、事务管理器、SqlSessionFactory等核心元素。 5. **SqlSession对象**:它是与数据库进行交互的主要接口,用于执行SQL和管理事务。 6. **Mapper接口与XML...
在这个"ibatis入门实例(全代码)"中,我们将探讨如何通过 Ibatis 实现对数据库的操作,包括数据库的初始化、SQL 映射文件的编写以及 Java 代码的集成。 首先,让我们了解数据库的准备工作。在实例中,提供了数据库...
1. **环境搭建** - 首先,你需要准备Ibatis的核心库,即`ibatis-2.3.4.726.jar`。这个jar包包含了Ibatis的主要功能。 - 同时,为了连接MySQL数据库,还需要`mysql-connector-java-3.1.11-bin.jar`,这是MySQL的...
2. **环境搭建**:如何配置iBATIS的开发环境,包括引入必要的jar包,设置项目依赖,以及配置数据库连接信息等。 3. **SqlMapConfig.xml**:解析iBATIS的核心配置文件,包括数据源、事务管理器、SqlMap的定义等,...
### iBatis简明教程及快速入门 #### 一、iBatis简介 iBatis是一个开源框架,用于实现Java应用程序中的对象关系映射(Object Relational Mapping, ORM)。相较于其他ORM框架如Hibernate,iBatis更加轻量级且易于...
通过以上步骤,我们可以快速搭建起一个基本的Ibatis环境,完成简单的数据库操作。Ibatis的优势在于其灵活性,它允许开发者自由地编写SQL,同时提供了与ORM框架类似的便利性。这个简单的入门实例只是Ibatis功能的冰山...
### Ibatis入门教程知识点详解 #### 一、Ibatis简介 Ibatis是一个基于Java的开源持久层框架,它提供了一种灵活的方式将对象映射到关系型数据库中,支持SQL查询和更新操作,并且能够自动处理结果集。与Hibernate等...
描述中的"01_ibatis教程_准备ibatis环境.zip"与标题一致,暗示这个压缩包内容是关于Ibatis的入门教学资源,重点在于环境的搭建。这可能包括了安装Java运行环境、下载Ibatis库、配置项目结构、设置数据库连接等步骤。...
【搭建iBatis开发环境】 要开始使用iBatis,首先需要设置开发环境。这包括以下几个步骤: 1. **导入依赖库**:添加必要的jar包到项目中,如iBatis的核心库`ibatis-2.3.0.677.jar`以及数据库驱动,例如MySQL的`mysql...
总之,"ibatis-sqlMap-入门教程(代码)"是一个全面的指南,旨在帮助初学者理解和应用MyBatis框架,从零开始搭建项目,编写SQL映射文件,配置数据源,以及执行数据库操作。通过这个教程,学习者可以掌握MyBatis的...
总结,通过这个“ibatis MyEclipse 入门工程代码 图文教程”,我们可以学习到如何在MyEclipse环境中搭建Ibatis项目,编写SQL映射文件,以及如何在Java代码中调用这些映射进行数据库操作。了解这些基础步骤,对于后续...
搭建iBatis开发环境是使用这个框架的第一步,通常涉及以下步骤: 1. **导入依赖**:首先需要将必要的jar包引入到项目中,包括iBatis的核心库(如ibatis-2.3.0.677.jar)以及相应的数据库驱动,例如对于MySQL,需要...
2. **环境搭建**:安装和配置iBATIS所需的相关库,例如添加依赖到项目中,配置数据库连接等。 3. **SQL映射文件**:学习XML格式的SQL映射文件,包括定义SQL语句、参数映射、结果映射和动态SQL等。 4. **DAO设计**...
2. **快速入门**:这部分会引导新手如何快速搭建一个iBatis 3.1的环境,包括添加依赖、配置数据库连接、创建基本的Mapper接口和XML配置文件等步骤。 3. **配置**:详细讲解了iBatis的配置文件(`ibatis-config.xml`...
在开始使用ibatis之前,需要进行一些准备工作,包括环境搭建、依赖引入等: - **环境搭建**:确保开发环境中安装了必要的Java开发工具包(JDK)和集成开发环境(IDE)。 - **依赖引入**:通过Maven或Gradle等方式...
- **环境搭建**: - 将iBatis的相关jar包添加到项目中。 - 配置日志系统,如使用Apache的log4j。 - 示例配置文件`log4j.properties`: ``` log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log...
- **准备工作**:在使用ibatis之前,需要完成环境搭建、导入相关jar包以及设置必要的配置文件。 - **构建ibatis基础代码**: - 配置环境:确保开发环境中包含了ibatis库及相关依赖。 - 创建Java类:用于封装数据库...
1. **环境搭建**:引入iBatis的jar包或者Maven/Gradle依赖,配置数据库连接。 2. **配置SQLMap**:创建XML配置文件,编写SQL语句和映射规则。 3. **编写Mapper接口**:定义Java接口,方法名与XML中的SQL ID对应。 ...
3. 准备工作和构建iBATIS基础代码 - 介绍了如何进行开发前的准备工作以及如何搭建iBATIS的基本环境。 4. iBATIS配置 - 强调了配置对于iBATIS应用来说是一个重要的部分,涉及XML文件的编写和设置,用以定义对象和...
首先,`最简单的iBatis入门例子.chm`很可能是一个帮助文档,它会引导初学者逐步了解如何搭建iBatis环境,创建第一个简单的数据访问示例。在iBatis中,我们通常需要配置SqlMapConfig.xml文件,这是整个iBatis系统的主...