iBatis 2.3.4.726学习笔记

  • 选择iBatis 2.3.4.726是工作需要

  • 依赖: iBATIS-2.3.4.726.jar(iBatis框架),mysql-connector-java-5.1.25-bin.jar(MySQL的JDBC驱动包)

  • JDBC链接的属性文件: jdbc.properties (名字任取)
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/ ACCOUNT(数据库)
username= root (用户名)
password= pwd (密码)

  • iBatis配置文件:SqlMapConfig.xml (名字任取)
<?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>
    <properties resource="jdbc.properties"/> <!-- 注意,properties source里说明属性来源文件 -->
    <transactionManager type="JDBC">
        <dataSource type="SIMPLE">
            <property name="JDBC.Driver" value="${driver}"/> <!-- 注意,对应jdbc.properties里面的四个属性 -->
            <property name="JDBC.ConnectionURL" value="${url}"/>
            <property name="JDBC.Username" value="${username}"/>
            <property name="JDBC.Password" value="${password}"/>
        </dataSource>
    </transactionManager>
    <!-- 配置Ibatis要使用的SqlMap文件信息 -->
    <sqlMap resource="Account.xml"/> <!-- SqlMap文件信息 -->
</sqlMapConfig>

  • 实体映射文件:Account.xml (名字任取,SqlMapConfig.xml里面要能对应上)
<?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">
<sqlMap namespace="Account">         
         <!-- SQL字段与类属性映射关系,省略在SQL语句中用as转换字段名 -->
        <resultMap id="AccountResult" class="Account">
            <result property="id" column="ACC_ID"/>
            <result property="firstName" column="ACC_FIRST_NAME"/>
            <result property="lastName" column="ACC_LAST_NAME"/>
            <result property="emailAddress" column="ACC_EMAIL"/>
        </resultMap>
                 
        <select id="selectAccountById" parameterClass="int" resultClass="Account">
            SELECT
                 ACC_ID,
                 ACC_FIRST_NAME,
                 ACC_LAST_NAME,
                 ACC_EMAIL
            FROM ACCOUNT
            WHERE ACC_ID= #id#
        </select>

        <!-- 使用外联参数映射是用?占位符 -->
        <insert id="insertAccount1" parameterMap="AccountParameter">
            INSERT INTO ACCOUNT (ACC_ID, ACC_FIRST_NAME, ACC_LAST_NAME, ACC_EMAIL) VALUES (?, ?, ?, ?)
        </insert>
        
         <!-- 更新语句返回受影响行数 -->
        <update id="updateAccount" parameterClass="Account">
            UPDATE ACCOUNT SET
                ACC_FIRST_NAME=#firstName#
                ACC_LAST_NAME=#lastName#
                ACC_EMAIL=#emaiAddress#
            WHERE
                ACC_ID=#id#
        </update>
    
         <!-- 删除语句返回受影响行数 -->
        <delete id="deleteAccountById" parameterClass="int">
            DELETE FROM ACCOUNT WHERE ACC_ID=#id#
        </delete>
</sqlMap> 

  • 注意
    一定要为自己的类写默认构造函数,否则select语句没法将数据库返回的relations反射成为objects。
    iBatis 2.3不支持在ResultMap中加入constructor标签,它是反射调用默认构造函数,然后利用setter为fields赋值。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值