iBatis数据库操作指南:增删改查实例
需积分: 3 70 浏览量
更新于2024-07-31
收藏 68KB DOCX 举报
本文将介绍如何使用iBatis框架进行基本的数据库操作,包括增、删、改、查。iBatis是一个轻量级的数据持久层框架,它允许将对象映射到SQL语句,方便对Java POJOs进行持久化操作。与Hibernate和JDO等框架不同,iBatis更侧重于使用存储过程和已有的SQL来处理数据库交互。
首先,我们需要了解iBatis的基本配置。在本示例中,我们将使用MySQL 5.0数据库,以查询联系人信息为例进行说明。联系人表(contact)的结构如下:
```sql
CREATE TABLE `contact` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstName` varchar(20) DEFAULT NULL,
`lastName` varchar(20) DEFAULT NULL,
`email` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
);
```
对应的Java POJO类(Contact.java)如下:
```java
public class Contact {
private String firstName;
private String lastName;
private String email;
private int id;
public Contact() {}
public Contact(String firstName, String lastName, String email) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
// getters and setters...
}
```
在iBatis中,我们还需要编写SQL映射文件(例如:ContactMapper.xml),用于定义SQL语句和结果映射。例如,查询所有联系人的SQL语句可以这样写:
```xml
<select id="selectAllContacts" resultType="com.example.Contact">
SELECT * FROM contact
</select>
```
接下来,我们需要在iBatis的配置文件(mybatis-config.xml)中包含这个映射文件,并设置数据源:
```xml
<configuration>
<mappers>
<mapper resource="com/example/ContactMapper.xml"/>
</mappers>
<!-- 数据源配置 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/vin"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</dataSource>
</environment>
</environments>
</configuration>
```
在Java代码中,我们需要创建SqlSessionFactory,然后通过它创建SqlSession对象,最后调用SqlSession的selectList方法来执行查询并获取结果集:
```java
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
try (SqlSession session = sqlSessionFactory.openSession()) {
ContactMapper mapper = session.getMapper(ContactMapper.class);
List<Contact> contacts = mapper.selectAllContacts();
for (Contact contact : contacts) {
System.out.println("ID: " + contact.getId() + ", Name: " + contact.getFirstName() + " " + contact.getLastName() + ", Email: " + contact.getEmail());
}
}
```
以上步骤展示了如何使用iBatis从数据库中读取数据。对于添加、更新和删除数据,你可以分别使用insert、update和delete标签在映射文件中定义相应的SQL语句,并在Java代码中调用对应的方法。例如,插入新联系人的SQL语句可以这样定义:
```xml
<insert id="insertContact" parameterType="com.example.Contact">
INSERT INTO contact (firstName, lastName, email)
VALUES (#{firstName}, #{lastName}, #{email})
</insert>
```
在Java代码中,调用`mapper.insertContact(contact);`即可执行插入操作。同样,你可以按照这种方式编写更新和删除的Java代码。
通过这个简单的例子,我们了解了iBatis的基本工作流程,包括配置、映射文件、Java对象和数据库操作。随着对iBatis的深入学习,你可以利用它的强大功能,如动态SQL、事务控制等,来实现更复杂的数据库操作。
2008-10-06 上传
2012-11-27 上传
2008-10-25 上传
2013-03-29 上传
2017-04-21 上传
2013-09-10 上传
shayatou0802
- 粉丝: 23
- 资源: 1
最新资源
- Windows CE Programming [PDA][C++].pdf
- Wince深入浅出教程.pdf
- PlatformBuilderandEmbeddedVisualC++.pdf
- SQL语法参考手册,简单易用
- profiler使用大全
- ejb3.0实例教程.pdf
- 数据挖掘概念与技术Ed2
- Arm system developer's giude.pdf
- SVM Nice paper
- Spring开发指南(PDF)
- SQL Server 2005安装使用教程
- 需求分析的模板要的下
- VIM用户使用手册中文版
- Fedora10正式版完全安装教程.pdf
- 高速PCB设计指南高速PCB设计指南高速PCB设计指南
- zend framework 分页类