g firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public int getId() { return id; } public void setId(int id) { this.id = id; }}在iBatis中,配置文件(mybatis-config.xml)是整个框架的核心,它包含了数据源、事务管理器等关键设置。以下是一个简单的配置示例: ```xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <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?useSSL=false"/> <property name="username" value="root"/> <property name="password" value="your_password"/> </dataSource> </environment> </environments> <mappers> <mapper resource="ContactMapper.xml"/> </mappers> </configuration> ``` 接下来,我们需要创建一个Mapper接口和对应的XML配置文件,用于定义SQL语句和结果映射。例如,创建一个名为`ContactMapper.java`的接口: ```java public interface ContactMapper { List<Contact> getAllContacts(); } ``` 相应的`ContactMapper.xml`文件内容如下: ```xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.ContactMapper"> <select id="getAllContacts" resultType="com.example.Contact"> SELECT * FROM contact </select> </mapper> ``` 在Java代码中,我们需要初始化SqlSessionFactory并使用它来创建SqlSession,然后通过SqlSession执行SQL查询: ```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.getAllContacts(); for (Contact contact : contacts) { System.out.println("ID: " + contact.getId()); System.out.println("First Name: " + contact.getFirstName()); System.out.println("Last Name: " + contact.getLastName()); System.out.println("Email: " + contact.getEmail()); System.out.println("------------------------"); } } ``` 上述代码首先从配置文件创建SqlSessionFactory,然后打开一个SqlSession实例。通过SqlSession获取ContactMapper接口的代理对象,并调用`getAllContacts()`方法执行查询。查询结果将被自动映射到Contact对象列表中,最后在控制台打印出联系人信息。 继续介绍其他操作,如插入数据,可以创建一个`insertContact`方法并在XML配置文件中定义相应的INSERT语句;删除操作对应一个`deleteContact`方法,使用DELETE语句;更新数据则需要`updateContact`方法,对应UPDATE语句。这些操作同样可以通过Mapper接口和SqlSession实现。 在iBatis中,RESULTMAP用于更精细地控制结果集映射,可以处理复杂的结果集,比如一对一、一对多的关联映射。存储过程的使用则允许执行数据库定义的复杂操作,如批量更新、事务处理等。通过在Mapper XML文件中定义`<select>`、`<insert>`、`<update>`和`<delete>`元素,可以灵活地构建SQL语句,同时,使用ResultMap可以定制化的映射数据库结果到Java对象。 总结起来,iBatis作为一个轻量级的数据持久层框架,提供了一种简单但强大的方式来操作数据库。通过配置文件、Mapper接口和XML配置文件,开发者能够轻松地完成CRUD操作,同时支持存储过程,使得对数据库的访问更加灵活高效。在实际的企业开发中,结合Spring等框架使用,可以构建出稳定可靠的SS(Spring + iBatis)或SSH(Spring + Struts + Hibernate)架构。
剩余28页未读,继续阅读
- x159286661192013-12-16还行,半自动化的产品,不过如果能有项目配合说明更好
- 粉丝: 20
- 资源: 31
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助