对mysql进行操作,创建数据库表
CREATE TABLE EMPLOYEE (
id INT NOT NULL auto_increment,
first_name VARCHAR(20) default NULL,
last_name VARCHAR(20) default NULL,
salary INT default NULL,
PRIMARY KEY (id)
);
Employee对象
package com.zbm.pojo;
public class Employee {
private int id;
private String first_name;
private String last_name;
private int salary;
public Employee() {
}
public Employee(String fname, String lname, int salary) {
this.first_name = fname;
this.last_name = lname;
this.salary = salary;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
数据库连接的SqlMapConfig.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>
<settings useStatementNamespaces="true"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver"
value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://localhost:3306/health"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="root"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/zbm/pojo/Employee.xml"/>
</sqlMapConfig>
配置文件:Employee.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="employee">
<typeAlias alias="employee" type="com.zbm.pojo.Employee"/>
<insert id="insertEmployee" parameterClass="employee">
<selectKey keyProperty="id" resultClass="int">
select last_insert_id() as id
</selectKey>
insert into employee(first_name, last_name, salary) value
(#first_name#,#last_name#,#salary#)
</insert>
<select id="queryForAll" resultClass="Employee">
select * from employee
</select>
<update id="updateData" parameterClass="Employee">
update employee set first_name=#first_name#
where id=#id#
</update>
<delete id="deleteData" parameterClass="int">
delete from employee where id = #id#
</delete>
</sqlMap>
对数据库进行操作
package com.zbm.client;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.zbm.pojo.Employee;
public class IbatisDao {
public static void main(String[] args) {
Reader rd = null;
try {
rd = Resources.getResourceAsReader("SqlMapConfig.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);
// insertEmployee(smc);
// updateFirstName(smc);
queayAll(smc);
// deleteData(smc);
}
public static void insertEmployee(SqlMapClient smc) {
try {
Employee employee = new Employee("Json", "Bright", 7000);
smc.insert("employee.insertEmployee", employee);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void queayAll(SqlMapClient smc) {
try {
@SuppressWarnings("unchecked")
List<Employee> emps = (List<Employee>)smc.queryForList("employee.queryForAll");
for(Employee emp : emps) {
System.out.println("firstName : " + emp.getFirst_name() + " , "
+ "lastName : " + emp.getLast_name() + " , "
+ "salary : " + emp.getSalary());
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void updateFirstName(SqlMapClient smc) {
Employee rec = new Employee();
rec.setId(2);
rec.setFirst_name("File");
try {
smc.update("employee.updateData", rec);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void deleteData(SqlMapClient smc) {
int id = 3;
try {
int status = smc.delete("employee.deleteData", id);
System.out.println("status : " + status);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Ibatis实现基本的增删改查操作,这对于初学者来说是非常重要的基础知识。 ### 1. Ibatis 框架简介 Ibatis 最初由Clinton Begin 创建,后来成为Apache软件基金会的一个项目。它的...
在"jsf+ibatis增删改查"项目中,JSF被用来创建用户界面,而iBatis则作为数据访问层,负责与数据库的交互。以下是实现这一功能的关键步骤: 1. **配置iBatis**:首先,需要在项目中引入iBatis的库文件,并配置`...
这个简单的IBatis增删改查操作例子,通过将SQL语句与Java代码分离,使得代码更加清晰,易于维护。在实际项目中,还可以结合Spring框架,实现更高级的事务管理、自动注入等功能,提升开发效率。通过深入学习和实践,...
ibatis增删改查 <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
总结来说,"springMVC+spring+Ibatis增删改查的demo" 提供了一个完整的后端解决方案,通过集成这三大框架,实现了与数据库交互的基本功能。对于初学者而言,这是一个很好的学习资源,可以深入了解如何在实际项目中...
**Ibatis 增删改查技术** Ibatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Ibatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。它使得 SQL 与 Java 代码完全分离,可以最大...
在本教程中,我们将深入...在“增删改查(二)”这个主题中,我们将继续学习如何利用Ibatis高效地完成日常的数据库任务。通过实践和理解这些基本操作,你可以更好地掌握Ibatis,并将其应用于实际项目中,提升开发效率。
在本示例中,"ibatis实现增删改查功能demo"是一个具体的项目,旨在演示如何利用Ibatis进行数据库操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)数据。以下将详细解析这个项目的重点内容...
在这个"ibatis的增删改查"主题中,我们将深入探讨如何在不依赖MVC框架的情况下,利用Ibatis进行数据操作。 1. **Ibatis安装与配置** 首先,你需要将Ibatis的jar包添加到项目的类路径中,或者通过Maven或Gradle等...
在本项目中,iBatis将作为数据访问层,与数据库进行交互,实现增删改查操作。 项目的导入和运行一般是在集成开发环境如MyEclipse中进行。首先,需要确保安装了JDK和Tomcat服务器,并配置好环境变量。然后,将压缩包...
5. **CRUD操作**:在案例中,每个基本的数据库操作(增、删、改、查)都会对应一个Action,这些Action通常会调用Service层的方法,Service层再调用Mapper接口的方法来执行SQL。例如,添加数据的Action会调用add方法...
总之,这个项目提供了一个学习和实践Java Web开发的良好平台,通过Struts1、Spring和iBatis的组合,展示了如何构建一个完整的用户管理应用,包括登录、注册以及对数据的增删改查操作。这样的实践经验有助于开发者...
本文将详细介绍Ibatis如何实现简单的增删改查操作,并结合提供的源码进行深入理解。 首先,Ibatis的核心是SQL映射文件和SqlSessionFactory。SQL映射文件是XML格式的,其中包含了SQL语句及其参数映射,是Ibatis执行...
本篇文章将聚焦于Ibatis 3.0版本,探讨其在增删改查(CRUD)操作中的基本使用方法。Ibatis通过XML配置文件或注解方式,将SQL语句与Java代码分离,实现了数据访问的灵活和高效。 首先,我们需要了解Ibatis的基本架构...
在这个例子中,Ibatis 负责与MySQL数据库进行交互,执行增删改查的操作。 Apache DBCP 连接池是Apache组织提供的数据库连接池组件,它可以有效地管理数据库连接,提高应用程序性能并减少资源消耗。在这个项目中,...
4. 数据库操作:Oracle数据库执行iBatis提交的SQL,完成数据的增删改查。 5. 返回结果:iBatis将查询结果转换为Java对象,Action返回给前端,jqGrid更新表格展示。 这种技术组合的优势在于,jqGrid提供了用户友好的...
本教程将详细介绍如何利用Ibatis进行增删改查操作,调用存储过程以及实现分页功能,并通过Log4j配置来输出SQL日志。 首先,让我们了解Ibatis的基本配置。Ibatis的核心配置文件是`mybatis-config.xml`,在这里你可以...
在"struts2+spring+ibatis增删改查"的示例中,开发者可能会创建一个简单的用户管理模块。这通常包括以下几个步骤: 1. 创建实体类(Entity):如User类,代表数据库中的用户表。 2. 编写iBatis的Mapper接口和XML...