您的位置首页百科知识

Spring MVC+ibatis框架详解:[1]ibatis入门

Spring MVC+ibatis框架详解:[1]ibatis入门

的有关信息介绍如下:

Spring MVC+ibatis框架详解:[1]ibatis入门

从事JAVA开发5年了,赶脚还是Spring MVC框架简单、好用,再加上ibatis这小玩意,使得开发WEB应用程序非常简单。这里我们先讲讲ibatis入门知识,ibatis是一个轻量级的ORM框架,比hibernate轻,属于SQL文件注入方式编程,我们手写SQL,数据用参数方式传递给sql,避免了SQL的网络攻击

先打开MyEclipse,右键菜单,新建一个JAVA工程,名称为ibatis-01,确定完成。

在工程里面新建一个文件夹,存放我们的ibatis相关jar包,ibatis依赖的jar包很少,几乎没有,不像hibernate,依赖好几个jar包

打开MyEclipse Database Exployer,作为MySQL客户端,创建一张表TB_USER,包含字段UID,USER_NAME,如图所示

CREATE TABLE tb_user ( UID VARCHAR(255), USER_NAME VARCHAR(255) )

配置ibatis配置文件,如图

再编写TB_USER_SqlMap.xml文件,文件存放在com.dfzq.ibatis01.domain包下面,如图所示

insert into TB_USER(UID,USER_NAME)values(#uid:VARCHAR#,#userName:VARCHAR#)update TB_USER set USER_NAME=#userName:VARCHAR# where UID=#uid:VARCHAR#delete from TB_USER where UID=#uid:VARCHAR#

再在包com.dfzq.ibatis01.domain下面创建一个TbUser.java,与SQLMap的XML文件保持一致

package com.dfzq.ibatis01.domain;

public class TbUser{private String uid;private String userName;

public String getUid() {return uid;}public void setUid(String uid) {this.uid = uid;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}}

最后编写测试类,在包com.dfzq.ibatis01.runner下面创建IbatisRunner.java类,类里面包含一个main入口函数,如图所示

package com.dfzq.ibatis01.runner;

import java.io.IOException;import java.io.Reader;import java.sql.SQLException;

import com.dfzq.ibatis01.domain.TbUser;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class IbatisRunner {

public static void main(String[] args) { try { //初始化SqlMapClient,读入配置文件, Reader reader = Resources.getResourceAsReader("sql-map-config.xml"); SqlMapClient sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); //插入一条数据 TbUser user = new TbUser(); user.setUid("xiaoming"); user.setUserName("xiaoming"); sqlMapClient.insert("TB_USER.addUser",user); //查询刚插入的数据 TbUser user2 = (TbUser) sqlMapClient.queryForObject("TB_USER.queryUserByUid", "xiaoming"); System.out.println("1______查询结果:uid="+user2.getUid()+",userName="+user2.getUserName());

//修改刚刚查到的数据 user2.setUserName("xiaoming brother"); sqlMapClient.update("TB_USER.updateUser",user2); user2 = (TbUser) sqlMapClient.queryForObject("TB_USER.queryUserByUid", "xiaoming"); System.out.println("2______查询结果:uid="+user2.getUid()+",userName="+user2.getUserName()); //删除数据,并验证是否已经删除成功 sqlMapClient.delete("TB_USER.deleteUser","xiaoming"); user2 = (TbUser) sqlMapClient.queryForObject("TB_USER.queryUserByUid", "xiaoming"); if(null!=user2){ System.out.println("3______查询结果:uid="+user2.getUid()+",userName="+user2.getUserName()); } else { System.out.println("3______查询结果:xiaoming brother 已经被删除"); } //释放资源 reader.close();} catch (IOException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} }}

最终的目录结构和文件如图所示

运行IbatisRunner.java

注意安装MySQL时选择字符集为UTF-8,否则会存在中文乱码

IBATIS配置文件编辑时,可以配置成自动提示,见MyEclipse自动提示配置