ibatis基础概述及用法

基本使用过程:

1 引用ibatis框架:
a根据使用的数据库不同,给系统build不同的jar,例如mysql的mysql-connector-java-5.1.15-bin.jar
b 把ibatis的框架文件也build进入系统,例如文件名为ibatis-2.3.3.720.jar的包
2 编写SqlMapConfig.xml文件:

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE sqlMapConfig PUBLIC"-//ibatis.apache.org//DTD SQL Map Conifg 2.0//EN"----此行为基本xml信息
"./sql-map-config-2.dtd">----此行为dtd标签库引用,可设置为在线或本地,本地源文件位于基础包的buider里。
<sqlMapConfig>

<transactionManager type ="JDBC"> -------mysql使用JDBC链接
<dataSource type = "SIMPLE">-------使用简单工厂模式
<property value = "com.mysql.jdbc.Driver"name="JDBC.Driver"/> -----------直接套用的部分
<property value ="jdbc:mysql://链接的数据库地址/库名"name="JDBC.ConnectionURL"/> ------链接的数据库地址和库名
<property value = "root" name ="JDBC.Username"/>           ------------数据库访问用户
<property value = "123456" name ="JDBC.Password"/>         ------------数据库访问密码
</dataSource>
</transactionManager>

<sqlMap resource ="userAccount.xml"/>                   -------------对应的一个sqlMap,每个sqlMap里面对应一个查询或更新操作
</sqlMapConfig>
-----------------------------

3 编写sqlMap文件,即上面的userAccount.xml:

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE sqlMap PUBLIC"-//ibatis.apache.org//DTD SQL Map   2.0//EN"
"./sql-map-2.dtd">                                                         -----------以上部分仍然是相对固定的内容
<sqlMap>       --------一个sqlMap里包含一个查询操作
<select id = "getAllUser" resultClass ="hashmap" parameterClass = "string"> 
                    -----------id为区分定义,resultClass为返回结果集的类型,parameterClass为查询时传入参数的类型。
select * from user_account where username = #username#
                -----------直接的SQL语句,##之间的为传入的参数部分,格式类型为上面所写。
</select>
</sqlMap>
-----------------------------

4 在程序(class)中使用查询:

String resource = "SqlMapConfig.xml";//本次用到的SqlMapConfig.xml
Reader reader;
try {
reader = Resources.getResourceAsReader(resource);
SqlMapClient sqlMap =SqlMapClientBuilder.buildSqlMapClient(reader);
List list = sqlMap.queryForList("getAllUser","tester1");//两个参数,sqlmap的id,和参数。
//sqlMap.后会有很多的方法
for(int i=0;i<list.size();i++)
{
System.out.print(list.get(i));
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
---------------------------------
5 部分常用SQLMAP API说明:

Object queryForObject(); //查询返回对象
Map queryForMap(); //同上类似
List queryForList(); //
------------------------------------

6 配置文件说明:

a 资源文件:
建立一个资源文件 sqlmap.properties,内容如下:
driver = com.mysql.jdbc.Driver
url = jdbc.mysql://localhost/learning_ibatis
username = root
password = 123456
//键值 = value
以上内容使用时,在页面里:
先定义资源文件的引用:
<properties resource ="sqlmap.properties"/>,接下来
$(driver)等,运行时则自动联系后面的字符串内容。
主要用在很多位置共同使用的时候,比较方便修改和维护。
b settings的设置:
maxRequests:最大请求数,一次对数据库进行的操作,默认值为512,但是要大于maxSession和maxTransactions;
c SqlMapConfig的标签:
<properties>:
<settings>:
<transactionManager>:
<typeAlias>:
<typeHandler>:
<sqlMap>:
d SqlMap的标签:
<select>
<insert>
<update>
<delete>
<procedure>
<statement>--------直接操作库,例如建库建表,不是表中的内容。
<sql> -----------语句片段
<include> ---------加载<sql>的内容
例如:
<sql> select * from table wherename = "aaa"
把不变的sql内容定义为一个sql标签下的内容,下次<include>之后直接调用。
<sql id ="select_by_name">
  where name = "abc"
  </sql>
  <select id = "select_user"resultClass = "***">
  select * from <include refid= "select_by_name"/>
  </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值