下面就是一个基于ibatis的增删该查的小项目:model层bean
package com.lbx.model;
import java.util.Date;
public class Student {
private int id;
private String name;
private Date birth;
private float score;
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 float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
}
与之对应的xml配置文件(Student.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Student">
<typeAlias alias="Student" type="com.lbx.model.Student" />
<select id="selectAllStudents" resultClass="Student">
select * from Student
</select>
<select id="selectStudentById" parameterClass="int" resultClass="Student">
select * from Student where id=#id#
</select>
<select id="selectStudentByName" parameterClass="String" resultClass="Student">
select * from Student where name=#name#
</select>
<insert id="insertStudent" parameterClass="Student">
insert into Student(name,birth,score) values(#name#,#birth#,#score#)
</insert>
<delete id="deleteStudentById" parameterClass="int">
delete from Student where id = #id#
</delete>
<update id="updateStudentById" parameterClass="Student">
update Student set name=#name#,birth=#birth#,score=#score# where id=#id#
</update>
</sqlMap>
dao层
package com.lbx.dao;
import java.util.List;
import com.lbx.model.Student;
public interface StudentDao {
public void addStudent(Student student);
public void deleteStudentById(int id);
public List<Student> findAllStudent();
public void updateStudent(Student student);
public List<Student> findStudentByName(String name);
public Student findStudentById(int id);
}
dao实现层
package com.lbx.dao.impl;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.lbx.dao.StudentDao;
import com.lbx.model.Student;
public class StudentDaoImpl implements StudentDao {
private static SqlMapClient sqlMapClient = null;
static {
try {
Reader reader = com.ibatis.common.resources.Resources
.getResourceAsReader("SqlMapConfig.xml");
sqlMapClient = com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void addStudent(Student student) {
try {
sqlMapClient.insert("insertStudent", student);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void deleteStudentById(int id) {
try {
//返回删除的行数
int num = sqlMapClient.delete("deleteStudentById", id);
System.out.println(num);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List<Student> findAllStudent() {
List<Student> students = null;
try {
students = sqlMapClient.queryForList("selectAllStudents");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return students;
}
public Student findStudentById(int id) {
Student student = null;
try {
student = (Student)sqlMapClient.queryForObject("selectStudentById" , id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return student;
}
public List<Student> findStudentByName(String name) {
List<Student> lists = null;
try {
lists = sqlMapClient.queryForList("selectStudentByName", name);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return lists;
}
public void updateStudent(Student student) {
try {
//影响到的行数
int num = sqlMapClient.update("updateStudentById", student);
System.out.println(num);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
SqlMapConfig.xml文件配置,相当于Hibernate中hibernate.config.xml配置文件的作用
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- 不使用properties文件的配置 -->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/testhib"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="root"/>
</dataSource>
</transactionManager>
<!-- List more here...
<sqlMap resource="com/mydomain/data/Order.xml"/>
<sqlMap resource="com/mydomain/data/Documents.xml"/>
-->
<!-- 引入配置文件
<properties resource="jdbc.properties"/> -->
<!-- 使用JDBC的事务管理
<transactionManager type="JDBC"> -->
<!-- 使用简单的数据源
<dataSource type="SIMPLE">
<property name="${jdbc.driverClassName}" value="JDBC.Driver"/>
<property name="${jdbc.url}" value="JDBC.ConnectionURL"/>
<property name="${jdbc.username}" value="JDBC.Username"/>
<property name="${jdbc.password}" value="JDBC.Password"/>
</dataSource>
</transactionManager> -->
<sqlMap resource="com/lbx/model/Student.xml"/>
</sqlMapConfig>
注意:要提供相应的jar,ibatis一个,连接数据库一个
相关推荐
这个简单的IBatis增删改查操作例子,通过将SQL语句与Java代码分离,使得代码更加清晰,易于维护。在实际项目中,还可以结合Spring框架,实现更高级的事务管理、自动注入等功能,提升开发效率。通过深入学习和实践,...
在本示例中,"ibatis实现增删改查功能demo"是一个具体的项目,旨在演示如何利用Ibatis进行数据库操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)数据。以下将详细解析这个项目的重点内容...
5. **CRUD操作**:在案例中,每个基本的数据库操作(增、删、改、查)都会对应一个Action,这些Action通常会调用Service层的方法,Service层再调用Mapper接口的方法来执行SQL。例如,添加数据的Action会调用add方法...
这个压缩包提供的是一个完整的项目示例,涵盖了基于这三个框架的增删改查操作,非常适合初学者理解和实践。 首先,Struts2是一个强大的MVC框架,它提供了请求分发、视图展现和业务逻辑控制等功能。在Struts2中,...
Struts的Action类会接收前端请求,调用Spring管理的Service层接口处理业务逻辑,Service层再通过iBATIS的SqlMapClient执行SQL操作来完成对`VehicleExpense`表的增删改查。 在实际开发中,我们通常会有以下步骤: 1...
这个"Struts2+Spring2.5+iBatis完整增删改查Demo"提供了一个完整的集成示例,包括所有必要的jar包,使得开发者可以快速在Mycelipse环境中搭建并运行项目。 **Struts2框架**: Struts2是基于MVC设计模式的Web应用...
总结,Ibatis以其简单易用、灵活高效的特性在Java开发中占据重要地位,其增删改查功能的实现让开发者能更加专注于业务逻辑,而不是繁琐的JDBC操作。对于初学者来说,深入理解Ibatis的CRUD操作及其相关配置,对提升...
总结起来,这个"struts1.2+ibatis+DWR2.0+MySql5.0增删改查的小例子"涵盖了Web开发中的一些核心技术和实践,对于初学者来说,这是一个很好的学习资源,能够帮助他们快速掌握Java Web开发的基础知识,并逐步深入到更...
4. 数据库操作:Oracle数据库执行iBatis提交的SQL,完成数据的增删改查。 5. 返回结果:iBatis将查询结果转换为Java对象,Action返回给前端,jqGrid更新表格展示。 这种技术组合的优势在于,jqGrid提供了用户友好的...
在DB2版本中,Ibatis同样能够实现数据库的增删改查操作,大大简化了开发人员与数据库交互的工作。下面将详细阐述如何在DB2环境下使用Ibatis进行数据操作。 首先,理解Ibatis的核心概念: 1. **配置文件**:Ibatis的...
在这个例子中,Ibatis 负责与MySQL数据库进行交互,执行增删改查的操作。 Apache DBCP 连接池是Apache组织提供的数据库连接池组件,它可以有效地管理数据库连接,提高应用程序性能并减少资源消耗。在这个项目中,...
"增删改查分页"是Web应用中最基本的数据操作功能,包括添加(Insert)、删除(Delete)、更新(Update)和查询(Select),以及分页展示数据。分页是提高用户体验和系统性能的重要手段,特别是在处理大量数据时。 ...
在增删改查功能中,iBatis通过Mapper接口与XML配置文件配合,实现了数据的CRUD操作。开发者只需要定义接口方法,iBatis会自动生成SQL并执行,返回结果集。 这个项目的文件结构通常会包含以下几个部分: 1. **src/...
在本项目"Ibatis简单增删改查可用"中,我们看到的是一个基于VS2010开发的Ibatis应用实例,它包含了数据库和多样的数据库连接配置,用户可以根据自己的需求选择合适的配置文件进行使用。这个项目旨在提供一个快速上手...
本示例“ibatis + oracle 增删改查例子”将向我们展示如何利用这两个工具进行基本的数据操作。 首先,`iBatis`的核心是SQL Map配置文件,它包含了SQL语句和映射规则。在`MyEclipse`中导入这个项目后,你需要找到并...
Ibatis与MySQL的结合,使得开发者能够方便地执行SQL查询,实现数据的增删改查操作。 整合这五个技术的关键在于配置。在Maven的pom.xml文件中,需要定义所有依赖项,确保所有组件的版本兼容。在Spring的配置文件中,...
在这个例子中,它们被用来实现一个基本的数据管理功能,包括增、删、改、查操作,并且基于MySQL数据库进行数据存储。Apache DBCP是一个连接池库,用于优化数据库连接资源的管理和复用。 首先,Struts2作为表现层...
标题中的“S2S+ibatis一个增删改查的例子”指的是使用Struts2和iBatis框架实现的典型数据库操作应用。Struts2是一个基于MVC设计模式的Java Web框架,而iBatis则是一个SQL映射框架,用于简化数据库访问。这个例子将...
- **编写Action**:Action类负责接收用户请求,调用业务逻辑方法,通常这些方法会通过Spring注入的DAO来完成数据的增删查改。 - **编写DAO**:DAO层负责与数据库的交互,使用iBATIS的SqlSession对象执行SQL语句,...
在这个“struts2+spring+ibatis增删查改翻页代码示例”中,我们将深入探讨这三个框架如何协同实现数据管理的基本操作,并集成MySQL数据库和Tomcat web服务器。 首先,Struts2作为MVC(模型-视图-控制器)框架,主要...