iBATIS入门实例

news/2024/5/19 0:21:20 标签: iBATIS, JDBC, SQL, MySQL, Java

先写一个小例子入门一下,对iBATIS有一个认识

 

步骤:

1 建立数据库,创建表(user表,有userid,name,password,department,其中userid为主键,而且自动增长)

2 创建工程,加入相关jar包(常用的,数据库连接的,ibatis相关jar包)

3 创建xml文件(sql-map-config.xml,user.xml)

4 编写代码,测试运行

 

sql-map-config.xml

Xml代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"   
  3.     "http://www.ibatis.com/dtd/sql-map-config-2.dtd">  
  4. <!--(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+-->  
  5. <sqlMapConfig>  
  6. <transactionManager type="JDBC">  
  7.     <dataSource type="SIMPLE">  
  8.       <property value="com.mysql.jdbc.Driver" name="JDBC.Driver"/>  
  9.       <property value="jdbc:mysql://localhost:3306/ibatis" name="JDBC.ConnectionURL"/>  
  10.       <property value="root" name="JDBC.Username"/>  
  11.       <property value="root" name="JDBC.Password"/>  
  12.     </dataSource>  
  13.   </transactionManager>  
  14. <sqlMap resource="user.xml" />  
  15. </sqlMapConfig>  
<?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">
<!--(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+-->
<sqlMapConfig>
<transactionManager type="JDBC">
    <dataSource type="SIMPLE">
      <property value="com.mysql.jdbc.Driver" name="JDBC.Driver"/>
      <property value="jdbc:mysql://localhost:3306/ibatis" name="JDBC.ConnectionURL"/>
      <property value="root" name="JDBC.Username"/>
      <property value="root" name="JDBC.Password"/>
    </dataSource>
  </transactionManager>
<sqlMap resource="user.xml" />
</sqlMapConfig>

 

user.xml

Xml代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"   
  4.    "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
  5.   
  6. <sqlMap>  
  7.     <select id="getAllUsers" resultClass="hashmap"  
  8.         parameterClass="string">        
  9.         SELECT * FROM USER WHERE DEPARTMENT=#department#   
  10.     </select>  
  11. </sqlMap>  
<?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>
	<select id="getAllUsers" resultClass="hashmap"
		parameterClass="string">		
		SELECT * FROM USER WHERE DEPARTMENT=#department#
	</select>
</sqlMap>

 

代码及测试Test.java

Java代码 复制代码
  1. import com.ibatis.sqlmap.client.*;   
  2. import com.ibatis.common.resources.*;   
  3.   
  4. import java.io.IOException;   
  5. import java.io.Reader;   
  6. import java.sql.SQLException;   
  7. import java.util.List;   
  8. public class Test {   
  9.   
  10.     /**  
  11.      * @param args  
  12.      * @throws SQLException   
  13.      */  
  14.     public static void main(String[] args) throws SQLException {   
  15.         String resource ="SqlMapConfig.xml";   
  16.         Reader reader;   
  17.         try {   
  18.             reader = Resources.getResourceAsReader(resource);   
  19.             SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);   
  20.             List list= sqlMap.queryForList("getAllUsers""Market");   
  21.                
  22.             for (int i=0;i<list.size();i++){   
  23.                 System.out.println(list.get(i));   
  24.             }              
  25.         } catch (IOException e) {   
  26.             e.printStackTrace();   
  27.         }   
  28.   
  29.     }   
  30.   
  31. }  
import com.ibatis.sqlmap.client.*;
import com.ibatis.common.resources.*;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
public class Test {

	/**
	 * @param args
	 * @throws SQLException 
	 */
	public static void main(String[] args) throws SQLException {
		String resource ="SqlMapConfig.xml";
		Reader reader;
		try {
			reader = Resources.getResourceAsReader(resource);
			SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
			List list= sqlMap.queryForList("getAllUsers", "Market");
			
			for (int i=0;i<list.size();i++){
				System.out.println(list.get(i));
			}			
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

 sqlMapClient的注入有多种,在实际开发中,可以和spring结合,在dao层注入

 

转载自: http://crazycat03.iteye.com/blog/537393


http://www.niftyadmin.cn/n/872957.html

相关文章

android 微博功能实现,android 新浪微博实现分享功能

终于成功实现了新浪平台的分享功能。中间遇到了各种各样的问题&#xff0c;楼主也是醉了。现在好多应用都实现新浪&#xff0c;QQ&#xff0c;腾讯等三方平台功能&#xff0c;这时一般来说会有两种解决办法。1&#xff1a;利用ShareSdk;这种方式比较简单。去下载他们官方SDK&am…

K8S核心组件介绍

本篇文章主要来介绍K8S中的基础组件&#xff0c;以及它们所做的事情&#xff0c;算是一篇读书笔记吧。一、控制面 Master 节点的主要组件&#xff1a;1. kube-apiserver&#xff1a;负责对外提供集群各类资源的增删改查及 Watch 接口&#xff0c;它是 Kubernetes 集群中各组件数…

ibatis select 标签

select的输入和输出 例如 select id,name,age from user where name like %王% and age>20 这里既有输入也有输出 select的属性id,parameterClass,resultClass,parameterMap,resultMap,cacheModelresultSetType,fetchSize,xmlResultName,remapResults,timeout输入 parame…

Service Mesh的价值到底在什么地方

背景介绍:今年有幸加入了Service Mesh小组的研发当中&#xff0c;经过几个月的摸索&#xff0c;算是对Service Mesh有了一个初步的认识。旁边也是不停的有朋友问我&#xff0c;Service Mesh价值是什么&#xff1f;为什么我要用这个东西&#xff1f;也正是基于这些原因&#xff…

android菊花动画,Android实现仿iOS菊花加载圈动画效果

常见的实现方式切图&#xff0c;做旋转动画自定义View&#xff0c;绘制效果gif图1、切图会增加体积&#xff0c;但相对简单&#xff0c;不过在换肤的场景下&#xff0c;会使用不同颜色&#xff0c;需要准备多张图&#xff0c;不够灵活。2、由于自定义的好处&#xff0c;不同颜色…

ibatis非查询标签1

sqlmap里的 select标签是用来查询,今天说<insert>,<update>,<delete>标签&#xff0c;这三个基本只有输入没有输出 这三个标签有这样几个共同的属性&#xff0c;parameterClass,ParameterMap,id&#xff0c;参数类型&#xff0c;参数映射&#xff0c;ID 通过…

Envoy流量劫持后outbound部分处理逻辑

本篇文章主要来讲解下流量劫持到envoy之后&#xff0c;envoy层面是如何处理&#xff0c;并成功找到它的下一跳服务的&#xff0c;当然也是我们平时说的upstream。Envoy在实现层面&#xff0c;定义了listener、filter这些对象&#xff0c;具体如下所示:Listener对应的是LDS里面的…

android 还原设置广播,Android 8.0发送广播无法恢复出厂设置

在8.0之前做过恢复出厂的demo&#xff0c;执行代码如下&#xff1a;Intent intent new Intent(Intent.ACTION_MASTER_CLEAR);intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);intent.putExtra(Intent.EXTRA_REASON, "MasterClearConfirm");intent.putExtra(Inten…