struts2,spring,ibatis初探

 .举例:

user_SqlMap.xml下的配置:

<sqlMap>
 <typeAlias alias="User" type="com.msx.ibatis.User"/>
 <select id ="selectAllUsers" resultClass="User">
  select *
  from user
 </select>
</sqlMap>

红色标记部分的com.msx.ibatis.User  容易写成com.msx.ibatis 而漏掉User类名的指向,必须写全。


2.sqlMapConfig.xml的配置下的:

<sqlMapConfig>

<properties resource="com/msx/ibatis/SqlMap.properties"/>
 <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"/>
  </dataSource>
 </transactionManager>

 <sqlMap resource="com/msx/ibatis/user_SqlMap.xml"/>

</sqlMapConfig>

容易漏掉红色标记部分的配置。


3.user_SqlMap.xml配置中:

关于插入一条数据的:

<insert id ="insertUser" parameterClass="User">
  insert into user(
   id,
   username,
   password,
   head,
   regtime,
   sex
  )values(
   #id#,#username#,#password#,#head#,#regtime#,#sex#
  )
 </insert>

红色标记部分的#id#和User.java的getId();方法的Id相吻合即可
 
4.user_SqlMap.xml配置中:

关于删除一条数据的:

<delete id ="deleteById" parameterClass="int">
  delete from user
  where id = #id#
 </delete>

红色标记部分#id#作为占位符不存在改变的问题,比如可以更换为:#uid#、#sid#都可以

 


5. user_SqlMap.xml配置中:

关于更新一条数据的:

<update id ="updateUserById" parameterClass="User">
  update user
  set username = #username#,
   password = #password#,
   head = #head#,
   regtime = #regtime#,
   sex = #sex#
  where id = #id#
 </update>


容易漏掉各个参数之间的“,”号.

另外,parameterClass="User"的"User"类型切记不要写成"int"类型,应操作对象,因为和占位符配对的是其各个属性的值。

 

6.user_SqlMap.xml配置中:

关于模糊查询的:

 <select id ="selectUserByName" parameterClass="String" resultClass="User">
  select username,password,head,regtime,sex
  from user
  where username like '%$username$%'
 </select>


红色标记为标准写法,不能写成'%#username#%' 而且不要忘记加上两边的单引号('  ')号。


7.user_SqlMap.xml配置中:

 <insert id ="insertUserBySequence" parameterClass="User">
  <!-- 关系数据库都支持的自增长 -->
   insert into user(
   id,
   username,
   password,
   head,
   regtime,
   sex
  )values(
   #id#,#username#,#password#,#head#,#regtime#,#sex#
  )
  <selectKey resultClass="int" keyProperty="id">
   select #id# as value
  </selectKey>
 </insert>


红色标记处指的是Java中该类的类的属性,而不是指数据库中该表的一个列。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值