Ibatis使用知识总结
ibatis学习总结
1. 从官方网站下载,ibatis的jar及相关的文件,http://ibatis.apache.org/
2 . 新建一个工程, 我们如果要进行ibatis相关的操作, 就一个要导入ibatis-2.3.3.720.jar
3 . 建立pojo与pojo.xml形成映射.
4. 一般一个pojo对应一个pojo.xml, 例如.User.java.与User.xml
pojo的类最好实现java.io.Serializable接口, 以备应用时, 进一步的扩展, 还要提供一个缺省的构造方法(空构造方法)。
5. ibatis的配置文件.SqlMapConfig.xml, 这个文件一般放到src下.
<?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>
<!-- Configure a built-in transaction manager. If you're using an
app server, you probably want to use its transaction manager
and a managed datasource --
<properties resource="dbconfig.properties"/>/*数据库的驱动配置文件,一般与SqlMapConfig.xml是同一级目录*/
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${user}"/>
<property name="JDBC.Password" value="${password}"/>/*配置文件的Key*/
</dataSource>
</transactionManager>
<sqlMap resource="com/lxit/test/LXGroup.xml"/>
/*指定pojo的映射文件, 这句话一定要加上, 否则, 找不到配置文件,包名/类名.xml*/
</sqlMapConfig>
LXGroup.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 namespace="LXGroup">
<typeAlias alias="LXGroup" type="com.lxitedu.pojo.permission.LXGroup" />
类型别名 , 为一个pojo类取一个别名, 以便在下面用时候, 直接用别名引用对象(上面的解释)
<resultMap id="paginationList">
<result property="groupId" column="ID" />
<result property="groupName" column="groupName" />
<result property="description" column="description" />
</resultMap>
数据返回类型,我用的是一张表 , id 与select 标签的id一致, 就可以指定返回是多个pojo
<select id="userGroupRowCount" resultparameterresultMap="paginationList">
select * from userGroup
</select>
<delete id="deleteUserGroup" parameterparameterparameterkeyProperty="groupId">
select LAST_INSERT_ID() as value
</selectKey>(这是主键自动增长)
</insert>
<update id="updateUserGroup" parametervalue="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:dbconfig.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" value="classpath:SqlMapConfig.xml"/>(src下)
<property name="dataSource" ref="dataSource"/>
</bean>
第四步:修改实例对象方式
如果是单独的ibatis, 我们要通过读取SqlMapConfig.xml来得到SqlMapConfig来得到SqlMapClient对象
现在与spring整合之间, 我们只需要修改类的继承关系就可以了, 一般继承SqlMapClientDaoSupport
this.getSqlMapClient()就可以实现得到数据库的操作对象,简化了操作。
第五步:在sqlmapconfig.xml里面我们只要写映射pojo.xml的路径就可以了。