项目中使用ibatis方法

 通过DaoManagerBuilder加载dao.xml文件获取DaoManager对象
dao.xml 配置如下
<daoConfig>
  <context>
  <!-- 配置transactionManager 加载sql-map-config.xml文件
  	sql-map-config 指明ibatis数据库连接的一些属性 包括连接驱动user/pwd 和导入对数据库表操作的实体xml
   -->
    <transactionManager type="SQLMAP">
      <property name="SqlMapConfigResource"
        value="com/ibatis/jpetstore/persistence/sqlmapdao/sql/sql-map-config.xml"/>
    </transactionManager>
    <!-- 指定每一个dao类的接口和实现类 -->
    <dao interface="dao的interface"
      implementation="dao类impl"/>
  </context>
</daoConfig>

sql-map-config 配置如下
<sqlMapConfig>
  <properties resource="properties/database.properties"/>   // 导入database.properties文件
  <settings
    cacheModelsEnabled="true"
    enhancementEnabled="true"
    maxSessions="64"
    maxTransactions="8"
    maxRequests="128"/>

// 设置数据库连接属性
  <transactionManager type="JDBC">
    <dataSource type="SIMPLE">
      <property value="${driver}" name="JDBC.Driver"/>
      <property value="${url}" name="JDBC.ConnectionURL"/>
      <property value="${username}" name="JDBC.Username"/>
      <property value="${password}" name="JDBC.Password"/>
      <property value="15" name="Pool.MaximumActiveConnections"/>
      <property value="15" name="Pool.MaximumIdleConnections"/>
      <property value="1000" name="Pool.MaximumWait"/>
    </dataSource>
  </transactionManager>
// 导入每一个数据库实体文件  文件指定实体类和数据表对应关系
  <sqlMap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/Account.xml"/>
	...
 </sqlMapConfig>
 
 Account.xml配置如下
 <sqlMap namespace="Account">
  <typeAlias alias="account" type="com.ibatis.jpetstore.domain.Account"/>
  // 指定每一个实体类与数据表字段之间对应关系
  <resultMap id="accountResult" class="account">
    <result property="username" column="USERID"/>
    <result property="email" column="EMAIL"/>
    <result property="firstName" column="FIRSTNAME"/>
    <result property="lastName" column="LASTNAME"/>
    ...
  </resultMap>
  
// 查询sql。在取得数据时根据id‘getUsernameList’ 取得结果
// 用法如 queryForList("getUsernameList", null);
  <select id="getUsernameList" resultClass="string" parameterClass="account">
    select USERNAME as value from SIGNON
  </select>

  <update id="updateSignon" parameterClass="account">
    update SIGNON set PASSWORD = #password# where USERNAME = #username#
  </update>

  <insert id="insertSignon" parameterClass="account">
    insert into SIGNON (PASSWORD,USERNAME) values (#password#, #username#)
  </insert>

</sqlMap>
 
至此已配置好与数据库的对应关系,编写的Dao类需继承ibatis的SqlMapDaoTemplate类
里面查询使用类似queryForList("getUsernameList", null); updatexxxxx("updateyyyyy",account)语法
 使用这个Dao类须用上面DaoManagerBuilder类获取到的DaoManager,
 然后通过daoManager.getDao(Account.class)获得AccountDao对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值