ibatis insert mysql_iBATIS创建操作

iBATIS创建操作

若要使用iBATIS执行的任何CRUD(创建,写入,更新和删除)操作,需要创建一个的POJO(普通Java对象)类对应的表。本课程介绍的对象,将“模式”的数据库表中的行。

POJO类必须实现所有执行所需的操作所需的方法。

我们已经在MySQL下有EMPLOYEE表:

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 POJO 类:

我们会在Employee.java文件中创建Employee类,如下所示:

public class Employee {

private int id;

private String first_name;

private String last_name;

private int salary;

/* Define constructors for the Employee class. */

public Employee() {}

public Employee(String fname, String lname, int salary) {

this.first_name = fname;

this.last_name = lname;

this.salary = salary;

}

} /* End of Employee */

可以定义方法来设置表中的各个字段。下一章节将告诉你如何获得各个字段的值。

Employee.xml 文件:

要定义使用iBATIS SQL映射语句中,我们将使用标签,这个标签定义中,我们会定义将用于在IbatisInsert.java文件的数据库执行SQL INSERT查询“id”。

/p>

PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"

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

insert into EMPLOYEE(first_name, last_name, salary)

values (#first_name#, #last_name#, #salary#)

select last_insert_id() as id

这里parameterClass:可以采取一个值作为字符串,整型,浮点型,double或根据要求任何类的对象。在这个例子中,我们将通过Employee对象作为参数而调用SqlMap类的insert方法。

如果您的数据库表使用IDENTITY,AUTO_INCREMENT或串行列或已定义的SEQUENCE/GENERATOR,可以使用元素在的语句中使用或返回数据库生成的值。

IbatisInsert.java 文件:

文件将应用程序级别的逻辑在Employee表中插入记录:

import com.ibatis.common.resources.Resources;

import com.ibatis.sqlmap.client.SqlMapClient;

import com.ibatis.sqlmap.client.SqlMapClientBuilder;

import java.io.*;

import java.sql.SQLException;

import java.util.*;

public class IbatisInsert{

public static void main(String[] args)

throws IOException,SQLException{

Reader rd = Resources.getResourceAsReader("SqlMapConfig.xml");

SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);

/* This would insert one record in Employee table. */

System.out.println("Going to insert record.....");

Employee em = new Employee("Zara", "Ali", 5000);

smc.insert("Employee.insert", em);

System.out.println("Record Inserted Successfully ");

}

}

编译和运行:

下面是步骤来编译并运行上述软件。请确保已在进行的编译和执行之前,适当地设置PATH和CLASSPATH。

创建Employee.xml如上所示。

创建Employee.java如上图所示,并编译它。

创建IbatisInsert.java如上图所示,并编译它。

执行IbatisInsert二进制文件来运行程序。

会得到下面的结果,并创纪录的将在EMPLOYEE表中创建。

$java IbatisInsert

Going to insert record.....

Record Inserted Successfully

去查看EMPLOYEE表,它应该有如下结果:

mysql> select * from EMPLOYEE;

+----+------------+-----------+--------+

| id | first_name | last_name | salary |

+----+------------+-----------+--------+

| 1 | Zara | Ali | 5000 |

+----+------------+-----------+--------+

1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值