ibatis相关知识总结
ibatis相关知识总结
概念
一个基于SQL映射支持Java和·NET的持久层框架。ibatis 是一种“半自动化”的ORM实现。
ORM是指对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。
而ibatis的半自动化,指的是ibatis不会自动生成相应的sql代码,需要由程序猿自己编写,然后通过配置映射文件,将sql所需参数和返回结果映射到指定的POJO中。相比较于ibatis,hibernate就是一种全自动化的一种ORM实现,自动生成sql代码语句,并实现POJO和数据库表之间的映射。
具体实现
所需的相关jar包
只需一个ibatis的jar文件,导入到工程即可。另外还需要连接数据库相关的JDBC连接包。
配置文件
主要有总配置文件,SqlMapConfig.xml,JDBC连接属性文件和实体映射文件sqlmap-test.xml
配置文件详解
sqlmap-test.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="tmsnew.song.test">
<select id="getAllUsers" resultClass="java.util.HashMap">
select usernum as "usernum",
devicenum as "devicenum",
city as "city",
type as "type"
from baron
</select>
<delete id="deleteUser" parameterClass="com.bonc.tms.web.tmsnew.dss.bo.tmsnew.song.TestBO">
delete
from baron b
where b.usernum= '$usernum$'
</delete>
<select id="selectUser" resultClass="java.util.HashMap" parameterClass="com.bonc.tms.web.tmsnew.dss.bo.tmsnew.song.TestBO">
select b.usernum as "usernum",
b.devicenum as "devicenum",
b.city as "city",
b.type as "type"
from baron b
where b.city = '$city$'
and b.type = '$type$'
<isNotEmpty property="devicenum">
and b.devicenum = '$devicenum$'
</isNotEmpty>
<isNotEmpty property="usernum">
and b.usernum = '$usernum$'
</isNotEmpty>
</select>
<update id="updateUser" parameterClass="com.bonc.tms.web.tmsnew.dss.bo.tmsnew.song.TestBO">
update baron b
set b.devicenum = '$devicenum$',
b.city = '$city$',
b.type = '$type$'
where b.usernum = '$usernum$'
</update>
<insert id="addUser" parameterClass="com.bonc.tms.web.tmsnew.dss.bo.tmsnew.song.TestBO">
insert into baron b(b.usernum,b.devicenum,b.city,b.type)
values('$usernum$','$devicenum$','$city$','$type$')
</insert>
</sqlMap>
test.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=mysql
SqlMapConfig.xml
<?xmlversion="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>
<propertiesresource="test.properties"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<propertyname="JDBC.Driver"value="${driver}"/>
<propertyname="JDBC.ConnectionURL"value="${url}"/>
<propertyname="JDBC.Username"value="${username}"/>
<propertyname="JDBC.Password"value="${password}"/>
</dataSource>
</transactionManager>
<sqlMapresource="sqlmap-test.xml"/>
</sqlMapConfig>
配置文件完成后,还需要在java文件中导入配置信息,具体实现如下所示:
static {
try {
Reader reader = Resources
.getResourceAsReader("SqlMapConfig.xml");
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
具体的数据库操作主要通过SqlMapClient类来实现,而实例化一个sqlMapClient对象可以用SqlMapClientBuilder的buildSqlMapClient静态方法来实现
例:sqlMapClient.select(“sql语句路径”,传入参数类或数据类型)
posted on 2016-07-08 10:31 baron_songjin 阅读(148) 评论(0) 收藏 举报
浙公网安备 33010602011771号