`

IBatis二:如何配置ibatis+增删查改操作

阅读更多

                                                上一篇讲了如何配置Ibatis,这一篇就开始动真刀了

1.建立数据库表格,上节课我们已经建立好数据库了,现在来在Navicat建立表格,建立很简单,自己摸索就会了。

如下:

数据库名称:test

表格名称:t_user

这些数据在配置sqlmapconfig.xml里面会用到。



 

 

2.【配置sqlmapconfig】:

建立sqlMapConfig.xml 这个你随便放在哪个文件夹下,直接放在class那里也可以,如果想好管理也可以单独建一个fold,文件夹。

这个配置主要是配置url地址,以及登录数据库账号密码的。

 

<?xml version="1.0" encoding="UTF-8" ?>   
<!DOCTYPE sqlMapConfig         
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"         
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">   
    
<sqlMapConfig>   
  
  <transactionManager type="JDBC" commitRequired="false">   
    <dataSource type="SIMPLE">   
      <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>   
      <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/test"/>   
      <property name="JDBC.Username" value="root"/>   
      <property name="JDBC.Password" value=""/>   
    </dataSource>   
  </transactionManager>   
  <sqlMap resource="ibatis/sqlMap.xml"/>   
  
</sqlMapConfig>  

 

 

 大家复制粘贴的时候主要有几个地方改,首先显示URL  value地址,改成自己的,后面的test我上面提到过了你的数据库名称。

下面的登录名和密码,改成自己的。

【注意】:放xml配置文件的文件夹,需右键设置成,--add to resource folder,如果没有设置,运行法出现

can't find  the resource sqlmap.xml

3.【配置】sqlMap.xml 这个文件主要来执行增删查改了。

 

<?xml version="1.0" encoding="UTF-8"?>   
 
<!DOCTYPE sqlMap         
    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"         
    "http://ibatis.apache.org/dtd/sql-map-2.dtd">   
  
<sqlMap>   
  
  <!-- Use type aliases to avoid typing the full classname every time. -->   
  <typeAlias alias="User" type="ibatis.User"/>   
  
  <!-- Select with no parameters using the result map for Account class. -->   
  <select id="selectAllUsers" resultClass="User">   
    select * from t_user   
  </select>   
     
  <select id="selectUser" resultClass="User" parameterClass="int">   
    select * from t_user where id=#id#   
  </select>   
     
  <insert id="insertUser" parameterClass="User">   
    insert into t_user values (   
        5,#username#,#password#   
    )   
  </insert>   
     
  <update id="updateUser" parameterClass="User">   
    update t_user set username = #username#,password=#password#   
    where id=#id#   
  </update>   
     
  <delete id="deleteUser" parameterClass="int">   
    delete from t_user where id=#id#   
  </delete>   
</sqlMap>  

 需要改的地方:<typeAlias alias="User" type="ibatis.User"/>  这个是为了写好User类的路径,接下来都可以用短名称,不需要写长长的路径,还要改的地方是  from t_user from后面 改成你自己的表格名称。

 

4.创建User类,实现接口

 

package ibatis;

public class User {   
    private int id;   
    private String username;   
    private String password;   
       
    public int getId() {   
        return id;   
    }   
    public void setId(int id) {   
        this.id = id;   
    }   
    public String getPassword() {   
        return password;   
    }   
    public void setPassword(String password) {   
        this.password = password;   
    }   
    public String getUsername() {   
        return username;   
    }   
    public void setUsername(String username) {   
        this.username = username;   
    }   
}  

 5.测试类

 

package ibatis;
import java.io.Reader;
import java.util.Iterator;
import java.util.List;

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



public class UserTest {   
	  
    
    public static void main(String[] args) throws Exception{   
  
        //从配置文件中得到SqlMapClient对象   
        Reader reader = Resources.getResourceAsReader("sqlMapConfig.xml");   
        SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);   
        reader.close();   
           
        //创建用户数据  
        for(int i=0; i<10; i++){   
            User user = new User();   
            user.setUsername("terry"+i);   
            user.setPassword("rola"+i);   
            sqlMapper.insert("insertUser", user);   
        }   
           
        //查询用户数据  
        List users = sqlMapper.queryForList("selectAllUsers");   
        for (Iterator iter = users.iterator(); iter.hasNext();) {   
            User user = (User) iter.next();   
            System.out.println(user.getUsername());   
        }   
           

     
    }   
  
}  

 

 我们这里做到了增加的功能,注意一点,xml文件很容易出现格式问题,复制粘贴过去时候记得顶格不要空格要不会报错。我基本把我遇到的问题都放在这里注意点了,毕竟也是弄了一下午才成功的。

 

6.运行

查看table表格已经增加了我们增加的数据,如果发现没有报错,且表格没有增加,那么重新打开表格或者refresh一下。记得刷新。



 

然后后台也输出了查询到的用户:



 到这里查询和增加已经完成,下节课让我们一起完成删除和修改

拭目以待,共同成长吧。

 

  • 大小: 13.8 KB
  • 大小: 6.2 KB
  • 大小: 15.1 KB
  • 大小: 13.2 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics