ibatis(基本增删改查)

原创 2012年03月21日 11:22:35


1 在数据库中创建表请求权

 create table   FPP_TEST_USER (

   id                  VARCHAR2(20)                     NOT NULL,
   name                VARCHAR2(40)                     NOT NULL,
   password            VARCHAR2(20)                     NOT NULL
 )


2 在Eclipse中搭建环境

     File-->new--->JavaProject  新建java项目HelloIbatis

     右键项目名-->new-->folder 新建bin文件夹    把ibatis-common-2.jar,ibatis-dao-2.jar,ibatis-sqlmap-2.jar,ojdbc14.jar四个包加载到bin下

     右键项目名-->Properties-->Java Build Path-->Libraries-->Add  JARs  加载4个文件 -->ok

3  新建2个文件夹 

        1--存放配置文件        2--存放java类

       1------------------ 

             右键项目名-->new-->SourceFolder 新建是src/java文件夹      注update勾必须打上

        2-------------------

             同上  新建是src/resouce文件夹

4  加配置文件  在src/resouce下

{1}--------------sql-map-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
	<settings 
		cacheModelsEnabled="true" 
		enhancementEnabled="true"
		lazyLoadingEnabled="true" 
		errorTracingEnabled="true" 
		maxRequests="32"
		maxSessions="10" 
		maxTransactions="5" 
		useStatementNamespaces="false" />
		
	<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver"
				value="oracle.jdbc.driver.OracleDriver" />
			<property name="JDBC.ConnectionURL"
				value="jdbc:oracle:thin:@192.168.137.23:1521:unieap" />
			<property name="JDBC.Username" value="tabuser" />
			<property name="JDBC.Password" value="tabuser" />
			<property name="Pool.MaximumActiveConnections" value="10" />
			<property name="Pool.MaximumIdleConnections" value="5" />
			<property name="Pool.MaximumCheckoutTime" value="120000" />
			<property name="Pool.TimeToWait" value="500" />
			<property name="Pool.PingQuery" value="select 1 from dual" />
			<property name="Pool.PingEnabled" value="false" />
			<property name="Pool.PingConnectionsOlderThan" value="1" />
			<property name="Pool.PingConnectionsNotUsedFor" value="1" />
		</dataSource>
	</transactionManager>
	<sqlMap resource="user.xml" />
</sqlMapConfig>

   { 2}--------------user.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
	<typeAlias alias="user" type="cm.neusoft.test.ibatis.pojo.User" /><!--引入pojo-->
    <resultMap id="userinfo" class="user">
       <result property="name" column="name"/>
       <result property="password" column="password"/>
    </resultMap>
	
	<select id="getUser" parameterClass="java.lang.String"
		resultClass="user">
		<![CDATA[
			SELECT id,name, password FROM FPP_TEST_USER 
			WHERE name = #name#
		]]>
	</select>

	<update id="updateUser" parameterClass="user">
		<![CDATA[
		UPDATE FPP_TEST_USER SET name=#name#,password=#password# 
		WHERE id = #id#
	]]>
	</update>

	<insert id="insertUser" parameterClass="user">
		INSERT INTO FPP_TEST_USER (id, name, password) VALUES (#id#, #name#,
		#password# )
	</insert>

	<delete id="deleteUser" parameterClass="java.lang.String">
		DELETE FROM FPP_TEST_USER WHERE id = #value#
	</delete>
	


</sqlMap>

6  在src/java下新建2个类

     1---pojo

package cm.neusoft.test.ibatis.pojo;

/**
 * 
 * <b>Application name:</b>JAVA275<br>
 * <b>Application describing:</b> <br>
 * <b>Copyright:</b>Copyright © 2012 东软 软件开发事业部版权所有。<br>
 * <b>Company:</b>Neusoft<br>
 * <b>Date:</b>2012-3-13<br>
 * @author 韩超
 * @version $Revision: 1.2 $
 */
public class User
{
    private String id;

    private String name;

    private String password;
   
    public String getId()
    {
        return id;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getPassword()
    {
        return password;
    }

    public void setPassword(String password)
    {
        this.password = password;
    }

}

1---测试类

package cm.neusoft.test.ibatis.main;

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

import sun.misc.Resource;

import cm.neusoft.test.ibatis.pojo.User;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class Test
{
   public static void main(String[] args)
{
    String resource = "sql-map-config.xml";
    SqlMapClient sqlMapClient = null;
    try
    {
        Reader reader = Resources.getResourceAsReader(resource);
        sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
        sqlMapClient.startTransaction();
       // User user = new User();
        //增加
//        user.setId("1000");
//        user.setName("韩超");
//        user.setPassword("123456789");
//        sqlMapClient.insert("insertUser", user); 
        //删除
  //      sqlMapClient.delete("deleteUser", "1000");
        //修改
         //sqlMapClient.update("updateUser", user);
         
         //查询
        User user = (User) sqlMapClient.queryForObject("getUser", "汗啊好呢");
        System.out.println(user.getId()+"  "+user.getName() +"  "+user.getPassword());
        
        //1.我们新插入一批数据,要求携带所有的五列(插入操作)
        //2.对我们插入的重复的姓名的用用户只能保留每一个人的(删除操作)
        //3.对我们表中用户ID号,为自己学习号的姓名进行修改,修改的新姓名的值为姓名加学号(修改操作)
        //4.遍历结果集,对表中所有数据进行查看,将每个人的五个信息逐行打在控制台上(查询操作)
        //5.查询所有的结果中的年龄一象,计算我们现在人员的平均年龄(查询操作)
        
        
        System.out.println("Query user success!");
        sqlMapClient.commitTransaction();

    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch (SQLException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
   
    
}

注 ::::::在做更新的时候  先设setter后更新

      项目图片

   

 

     

Ibatis学习(通过Ibatis实现简单的数据库的添加、删除、修改)

  • 2008年09月08日 16:58
  • 17KB
  • 下载

ibatis时间格式化比较

  • linzhichao12345
  • linzhichao12345
  • 2014年11月18日 12:11
  • 4799

mybatis实现mapper文件热部署

每次修改mybatis的sql脚本后,都要重启,因为mybatis的mapper文件默认只在启动时加载到缓存,改动后不会自动加载,于是研究了下mybatis配置文件的加载,分享如下: 实现思路:使用...
  • blusyangjiwen
  • blusyangjiwen
  • 2017年02月14日 18:01
  • 613

实现ibatis手动控制加载sqlmap文件,终于不用重启应用了

  • 2013年06月19日 19:11
  • 10KB
  • 下载

ibatis的dtd文件头修改 标签提示

关于ibatis的dtd文件头会有下面的写法:    在你使用eclipse IDE的情况下,需要提示确怎么也不出来,而且sqlmap的xml也会有警告出现。  我查了一下,还是文件头的问题。 ...
  • responsecool
  • responsecool
  • 2014年07月19日 13:05
  • 855

ibatis修改xml中的SQL后没有生效

从离职的同事那里接过一个web项目,开始接触ibatis。这东西确实挺好用的,sql多起来的时候,改起来比较方便。然后遇到一个问题就是,我明明修改了xml文件中的SQL语句,但是运行时打印出来的SQL...
  • libertine1993
  • libertine1993
  • 2016年09月07日 20:57
  • 840

修改ibatis源码实现物理分页

 注:本例子针对ibatis-2.3.2.715版本修改,其他版本不一定可以使用,但原理应该一样。并且数据库针对oracle,如果是其他数据库请修改源代码中的sql文部分。ibatis这个orm工具非...
  • cyoubunketu
  • cyoubunketu
  • 2009年06月06日 09:38
  • 1279

ibatis缓存浅析

一、缓存介绍 1.1、引入      什么影响Internet访问速率?      访问网站的过程是通过建立在TCP/IP协议之上的HTTP协议来完成的。从客户端发出一个HTTP请求开始,用户所...
  • leoFight
  • leoFight
  • 2013年07月09日 11:02
  • 433
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ibatis(基本增删改查)
举报原因:
原因补充:

(最多只允许输入30个字)