spring中mapper的使用与配置

申明式配置

命名空间

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ggs.dao.UserMapper">
</mapper>

mapper中标签的使用

//resultType 表面返回值类型
<select id="getUserList" resultType="com.ggs.pojo.User">
  select * from Mybatis.user
</select>
//parameterType 参数类型
<select id="getUserById" parameterType="int" resultType="com.ggs.pojo.User">
  select * from Mybatis.user where id = #{id}
</select>
<insert id="addUser" parameterType="com.ggs.pojo.User">
  insert into Mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd});
</insert>
<update id="updateUser" parameterType="com.ggs.pojo.User">
  update Mybatis.user
  set name = #{name},pwd=#{pwd}
  where id = #{id}
</update>
<delete id="deleteUser" parameterType="int">
  delete from Mybatis.user where id = #{id}
</delete>
  • 如果方法是多个参数,要保证传入参数的参数名与pojo类中的参数名一致

说明

namespace可以实现对应到接口中,再通过反射进行实现接口。并且通过配置的方式,注入到容器中。

    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource"></property>
      <property name="mapperLocations" value="mapper/*.xml"></property>
  </bean>

编程式事务配置

在方法通过注解的方式进行注入sql

public interface UserMapper {
    @Select("SELECT * FROM users WHERE id = #{id}")
    User selectById(int id);
}

通过mapper扫描进入到容器中

  1. 注解
    @MapperScan(“包的名称”)
  2. 申明式配置
  • 特别提醒:要提取加入命名空间,否则会报错
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
  xsi:schemaLocation="
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">

  <mybatis:scan base-package="org.mybatis.spring.sample.mapper" />

  <!-- ... -->

</beans>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值