关闭

ibatis(基本增删改查)

3581人阅读 评论(0) 收藏 举报


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后更新

      项目图片

   

 

     

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:138451次
    • 积分:888
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:2篇
    • 译文:0篇
    • 评论:4条
    文章分类
    文章存档
    最新评论