iBatis教程中文版.docx

上传人:b****4 文档编号:5650381 上传时间:2023-05-08 格式:DOCX 页数:32 大小:42.57KB
下载 相关 举报
iBatis教程中文版.docx_第1页
第1页 / 共32页
iBatis教程中文版.docx_第2页
第2页 / 共32页
iBatis教程中文版.docx_第3页
第3页 / 共32页
iBatis教程中文版.docx_第4页
第4页 / 共32页
iBatis教程中文版.docx_第5页
第5页 / 共32页
iBatis教程中文版.docx_第6页
第6页 / 共32页
iBatis教程中文版.docx_第7页
第7页 / 共32页
iBatis教程中文版.docx_第8页
第8页 / 共32页
iBatis教程中文版.docx_第9页
第9页 / 共32页
iBatis教程中文版.docx_第10页
第10页 / 共32页
iBatis教程中文版.docx_第11页
第11页 / 共32页
iBatis教程中文版.docx_第12页
第12页 / 共32页
iBatis教程中文版.docx_第13页
第13页 / 共32页
iBatis教程中文版.docx_第14页
第14页 / 共32页
iBatis教程中文版.docx_第15页
第15页 / 共32页
iBatis教程中文版.docx_第16页
第16页 / 共32页
iBatis教程中文版.docx_第17页
第17页 / 共32页
iBatis教程中文版.docx_第18页
第18页 / 共32页
iBatis教程中文版.docx_第19页
第19页 / 共32页
iBatis教程中文版.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

iBatis教程中文版.docx

《iBatis教程中文版.docx》由会员分享,可在线阅读,更多相关《iBatis教程中文版.docx(32页珍藏版)》请在冰点文库上搜索。

iBatis教程中文版.docx

iBatis教程中文版

1.显示数据库所有数据

iBatis是个像Hibernate,JDO,EJB一类的数据持久框架,它能将对象映射为SQL语句.它是个轻量级的框架并且持久性API适合持久化POJO.iBatis也与Hibernate,JDO不同,因为它使用存储过程和现有的SQL来处理数据库.

本节我们将向你讲述如何配置iBatis来运行一个小型程序.既然一次性将所有知识全部解释很难,我们索性把本教程分为几个单独的例子来陈述.该例是关于如何从数据库读取数据并将结果显示在你的命令提示符上.在第二个例子中你将学习如何添加更多的数据到数据库中,在此之后的第三个例子将会向你展示如何通过iBatis从记录中删除数据.

现在的第一个例子将会向你展示如何从数据库中读取记录,我们需要一个数据库来执行查询,所以我们使用MySQL5.0作为这个例子的数据库.

这里我们将要检索一些人的contact的信息,contact的表结构给出如下:

DROPTABLEIFEXISTS`contact`;

CREATETABLE`contact`(

`id`int(11)NOTNULLauto_increment,

`firstName`varchar(20)defaultNULL,

`lastName`varchar(20)defaultNULL,

`email`varchar(20)defaultNULL,

PRIMARYKEY(`id`)

);

根据Contact表我们需要创建一个POJO类,在我们的例子中,数据库vin有一个表Contact,包括四个字段:

∙id

∙firstName

∙lastName

∙email

Contact.java

publicclassContact{

privateStringfirstName;

privateStringlastName;

privateStringemail;

privateintid;

publicContact(){}

publicContact(

StringfirstName,

StringlastName,

Stringemail){

this.firstName=firstName;

this.lastName=lastName;

this.email=email;

}

publicStringgetEmail(){

returnemail;

}

publicvoidsetEmail(Stringemail){

this.email=email;

}

publicStringgetFirstName(){

returnfirstName;

}

publicvoidsetFirstName(StringfirstName){

this.firstName=firstName;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetLastName(){

returnlastName;

}

publicvoidsetLastName(StringlastName){

this.lastName=lastName;

}

}

为了映射配置我们需要创建SqlMapConfig.xml来指定如下信息:

•针对映射语句的命名空间前缀

•我们的数据库将使用JDBC来进行访问

•针对MySQL的JDBC驱动为"com.mysql.jdbc.Driver"

•连接URL为"jdbc:

mysql:

//192.168.10.112:

3306/vin"

•用户名与密码分别为"root"和"root"

•我们的SQL语句描述在"Contact.xml"

SqlMapConfig.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEsqlMapConfig

PUBLIC"-//ibatis.apache.org//DTDSQLMapConfig2.0//EN"

"http:

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

value="jdbc:

mysql:

//192.168.10.112:

3306/vin"/>

映射文件在下面给出,它主要负责为我们的程序执行SQL查询.Contact.xml的代码如下:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEsqlMap

PUBLIC"-//ibatis.apache.org//DTDSQLMap2.0//EN"

"http:

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

---Showingalldataoftable-->

select*fromcontact

现在为了显示数据库中的数据我们需要创建一个类----IbatisExample,它从SqlMapConfig.xml中读取配置并在你的控制台输出所有数据.IbatisExample.java的代码如下:

importmon.resources.Resources;

importcom.ibatis.sqlmap.client.SqlMapClient;

importcom.ibatis.sqlmap.client.SqlMapClientBuilder;

importjava.io.*;

importjava.sql.SQLException;

importjava.util.*;

publicclassIbatisExample{

publicstaticvoidmain(String[]args)

throwsIOException,SQLException{

Readerreader=Resources.getResourceAsReader("SqlMapConfig.xml");

SqlMapClientsqlMap=

SqlMapClientBuilder.buildSqlMapClient(reader);

//Outputallcontacts

System.out.println("AllContacts");

Listcontacts=(List

sqlMap.queryForList("Contact.getAll",null);

Contactcontact=null;

for(Contactc:

contacts){

System.out.print(""+c.getId());

System.out.print(""+c.getFirstName());

System.out.print(""+c.getLastName());

System.out.print(""+c.getEmail());

contact=c;

System.out.println("");

}

}

}

为了运行该例,你需要遵循如下步骤:

•在你的MySQL数据库中创建表Contact

•下载iBatis的JAR文件(ibatis-common-2.jar,ibatis-dao-2.jar,ibatis-sqlmap-2.jar),并将其放置在你的lib目录中

•设置类路径

•创建Contact.java将其编译

•创建Contact.java

•创建SqlMapConfig.xml

•创建IbatisExample.java并将其编译

•执行IbatisExample文件

输出:

你的命令提示符应该有像这样的输出:

 

2.向数据库插入数据

iBatis最棒的特点就是它的简洁,这也是唯一令它在任何数据库程序中更容易使用的原因.iBatis使得通过Java或者任何其它的Microsoft的程序来使用数据库变得非常简单.本章我们将会通过一个例子向你介绍如何向数据库插入一行数据.我们使用MySQL作为本例的数据库,和我们上一章中使用的是一样的.这是"Contact"表和我们上一章使用过的两个文件:

"Contact.java"和"SqlMapConfig.xml"

Contact.java

publicclassContact{

privateStringfirstName;

privateStringlastName;

privateStringemail;

privateintid;

publicContact(){}

publicContact(

StringfirstName,

StringlastName,

Stringemail){

this.firstName=firstName;

this.lastName=lastName;

this.email=email;

}

publicStringgetEmail(){

returnemail;

}

publicvoidsetEmail(Stringemail){

this.email=email;

}

publicStringgetFirstName(){

returnfirstName;

}

publicvoidsetFirstName(StringfirstName){

this.firstName=firstName;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetLastName(){

returnlastName;

}

publicvoidsetLastName(StringlastName){

this.lastName=lastName;

}

}

SqlMapConfig.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEsqlMapConfig

PUBLIC"-//ibatis.apache.org//DTDSQLMapConfig2.0//EN"

"http:

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

value="jdbc:

mysql:

//192.168.10.112:

3306/vin"/>

我们使用标签来映射SQL语句,在该标签中我们定义了一个"id",它将在IbatisInsertion.java文件中用来执行数据库插入,查询操作.

selectlast_insert_id()asid

上面的代码意味着表中被插入数据的下一行.

Contact.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEsqlMap

PUBLIC"-//ibatis.apache.org//DTDSQLMap2.0//EN"

"http:

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

---Insertingdataintable-->

insertintocontact(firstName,lastName,email)

values(#firstName#,#lastName#,#email#)

selectlast_insert_id()asid

---Showingalldataoftable-->

select*fromcontact

IbatisInsertion.java的代码如下:

importmon.resources.Resources;

importcom.ibatis.sqlmap.client.SqlMapClient;

importcom.ibatis.sqlmap.client.SqlMapClientBuilder;

importjava.io.*;

importjava.sql.SQLException;

importjava.util.*;

publicclassIbatisInsertion{

publicstaticvoidmain(String[]args)throwsIOException,SQLException{

Readerreader=Resources.getResourceAsReader("SqlMapConfig.xml");

SqlMapClientsqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);

//Insertingonerecordincontacts

System.out.println(

"*--------------InsertinginformationinContactTable-----------*");

Contactcontact=newContact("Amit","Kumar","amit@");

sqlMap.insert("Contact.insert",contact);

System.out.println("|RecordInsertedSuccessfully");

System.out.println("AllContacts");

Listcontacts=(List

sqlMap.queryForList("Contact.getAll",null);

Contactcontactall=newContact();

for(Contactc:

contacts){

System.out.print(""+c.getId());

System.out.print(""+c.getFirstName());

System.out.print(""+c.getLastName());

System.out.print(""+c.getEmail());

contact=c;

System.out.println("");

}

System.out.println("===============================================");

}

}

如何执行本例:

1.创建Contact.java并将其编译

2.创建Contact.xml和SqlMapConfig.xml

3.创建IbatisInsertion.java

4.执行IbatisInsertion类文件,结果将在你的命令提示符上输出如下:

"RecordInsertedSuccessfully"

输出:

 

3.iBatis删除操作教程

我希望通过上面的例子,你能完全懂得如何向数据库执行插入或者查询操作.所以在本例中你将学习到如何通过iBatis在数据库中删除数据.所以你需要分析代码并清楚的理解在这些代码里到底发生了什么.然而你绝对不需要再创建一个不同的数据库,虽然你知道我们使用上一个MySQL作为数据库而且你已经知道了我们的表名是Contact.但你可以选择是使用这个数据库还是再创建一个,这都由你决定!

你唯一需要确定的就是你定义的表名是正确的,否则将会产生Bug.如果你从本iBatis教程的开始学下来的,那么你是不需要修改代码的.仅仅将给定的代码拷贝到文件夹并执行,最终删除数据库表中的数据.

正如我之前提到的,在iBatis的本章,我们将要从Ctract表中删除记录,我们使用MySQL的数据库"vin"

我们的Contact.java和SqlMapConfig.xm与上一个例子中的是一样的.

Contact.java

publicclassContact{

privateStringfirstName;

privateStringlastName;

privateStringemail;

privateintid;

publicContact(){}

publicContact(

StringfirstName,

StringlastName,

Stringemail){

this.firstName=firstName;

this.lastName=lastName;

this.email=email;

}

publicStringgetEmail(){

returnemail;

}

publicvoidsetEmail(Stringemail){

this.email=email;

}

publicStringgetFirstName(){

returnfirstName;

}

publicvoidsetFirstName(StringfirstName){

this.firstName=firstName;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetLastName(){

returnlastName;

}

publicvoidsetLastName(StringlastName){

this.lastName=lastName;

}

}

 SqlMapConfig.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEsqlMapConfig

PUBLIC"-//ibatis.apache.org//DTDSQLMapConfig2.0//EN"

"http:

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

value="jdbc:

mysql:

//192.168.10.112:

3306/vin"/>

 

在Contract.xml文件中我们使用标签删除Contract表中的全部记录.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2