`

IBatis 三:浅度解析sqlMap自我理解

阅读更多

由于前两节课搭建了环境和试验成功了Ibatis的插入操作。这节课我们浅度解析sqlMap配置与一些我的发现,我们从简单开始入手Ibatis。

【增】为了方便管理也修改了一些代码,首先就是,插入:

 <insert id="insertUser" parameterClass="User">   
    insert into t_user values (   
        #id#,#username#,#password#   
    )   
  </insert>

 我将插入语句,增加了id,这样我就可以根据id来查询了。

 <select id="selectUser" resultClass="User" parameterClass="int">   
    select * from t_user where id=#id#   
  </select>  

 

  //创建用户数据  
        for(int i=0; i<10; i++){   
            User user = new User();  
            user.setId(i);
            user.setUsername("terry"+i);   
            user.setPassword("rola"+i);   
            sqlMapper.insert("insertUser", user);   
        }   

 【注意】将自己的数据库id 属性改为int

执行完这段语句之后。我们会看到数据库添加了我们的命令语句



 实验成功,那么我们来讲一下sqlMap配置

1.需要一个user,要知道它是直接添加user类

看下: <insert id="insertUser" parameterClass="User">这句话意思是执行插入语句,然后这个插入方法名字是"insertUser",这个id名你可以随意更改,记得在这里调用 sqlMapper.insert("insertUser", user);的时候括号里面的第一个参数就是这个id名,之所以要取名是因为插入有很多种方法,所以取个名字便于识别。  parameterClass="User"这个意思是插入这个对象的类,就是我们的User。

===================================================================================

【查】查询语句:

sqlMap:

 <select id="selectUser" resultClass="User" parameterClass="int">   
    select * from t_user where id=#id#   
  </select>   

 代码这么写:

   //查询特定用户的数据  
        User user = (User)sqlMapper.queryForObject("selectUser", 5);   
        System.out.println("用户【id="+5+"】的名称是:"+user.getUsername());   

结果如图:

 

 

 

============================================================================================

【改】接下来就是我们的更新相当于修改;sqlMap配置如下:

<update id="updateUser" parameterClass="User">   
    update t_user set username = #username#,password=#password#   
    where id=#id#   
  </update>   

 这里更新的id名为updateUser,将要修改用户名,密码,根据用户id。

然后在User_test里面这样写:

 user = new User();   
        user.setId(3);   
        user.setUsername("name changed");   
        user.setPassword("pass changed");   
        sqlMapper.update("updateUser", user);   

 现在我们运行看下效果:



 可以看到username and passname 已经变成我更改后的名字。

===============================================================================================

【删】

<delete id="deleteUser" parameterClass="int">   
    delete from t_user where id=#id#   
  </delete>  

 我们可以看到删除的类型是根据id,类型是int,所以放入下面代码中不再是user,而是int数字形。

  //删除用户的信息  
     
        sqlMapper.delete("deleteUser",2);

 我们可以看到id=2 的用户数据已经被删掉



 到这里简单的增删查改我们已经全部完成,是不是很简单呢?

那么下节课大家跟我一起学习深度剖析sqlMap配置语句,我猜想IBatis所有的秘密应该在这里。

 

  • 大小: 8.2 KB
  • 大小: 6.1 KB
  • 大小: 6.9 KB
  • 大小: 8.3 KB
  • 大小: 7.6 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics