配置:

Mybatis配置分两部分,java与sql

Sql:

<!-- mybatis文件配置,扫描所有mapper.xml文件 -->

<bean id="sqlSessionFactory"

class="org.mybatis.spring.SqlSessionFactoryBean"

p:dataSource-ref="dataSource"

p:configLocation="classpath:/mybatis/mybatis-config.xml" <!-- mybatis自身的配置,spring mvc中不需要设定 -->

p:mapperLocations="classpath:/mapper/*.xml"/> <!-- mybatis的xml文件位置 -->

Java:

<!-- spring与mybatis整合配置,扫描所有mapper.java -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"

p:basePackage="com.xxx.mapper" <!-- mybatis的java接口文件位置 -->

p:sqlSessionFactoryBeanName="sqlSessionFactory"/>


使用:

mapper标签:指定相应的Java接口 Mapper.java

insert标签:

<insert id="insert" parameterType="com.dig4j.lsh.model.callIn.LshCustProfileInfo" useGeneratedKeys="true" keyProperty="ccId" >

</insert>

<!-- useGeneratedKeys="true"把新增加的主键赋值到自己定义的keyProperty(id)中 -->

delete标签:

<delete id="deleteByXXX" parameterType="Long" >

</delete>

select标签:

<select id="selectXXXList" parameterType="XXXBean" resultType="XXXBean" >

</select>

update标签:

<update id="updateXXXByXXX" parameterType="XXXBean" >

</update>

if标签:

<if test="list != null">

AND xxx IN ('XXX')

</if>

foreach标签:

<foreach collection="list" item="item" index="index" open="(" separator="," close=")">

#{item}

</foreach>

例子:

<mappernamespace="XXXMapper"><!--插入--><insertid="insert"parameterType="com.dig4j.lsh.model.callIn.LshCustProfileInfo"useGeneratedKeys="true"keyProperty="ccId">INSERTINTOXXX(remark,create_date,update_date)VALUES(#{remark},DATE_ADD(now(),INTERVAL8HOUR),DATE_ADD(now(),INTERVAL8HOUR))</insert><insertid="insertBatch"parameterType="list">INSERTINTOXXX(remark,create_date,update_date)VALUES<foreachcollection="list"item="item"index="index"separator=",">(#{item.remark,jdbcType=VARCHAR},DATE_ADD(now(),INTERVAL8HOUR),DATE_ADD(now(),INTERVAL8HOUR))</foreach></insert><deleteid="deleteByXXX"parameterType="Long">DELETEFROMXXXWHEREXXX=#{XXX}</delete><updateid="updateXXXByXXX"parameterType="XXXBean">UPDATEXXXSETdate=DATE_ADD(now(),INTERVAL8HOUR)WHEREXXX=#{XXX}</update><selectid="selectCount"parameterType="XXXBean"resultType="int">SELECTCOUNT(0)FROMWHEREXXX=#{XXX}</select><selectid="selectXXXList"parameterType="XXXBean"resultType="XXXBean">SELECTFROMWHERE1=1<iftest="XXX!=nullandXXX!=''">ANDXXX=#{XXX}</if></select><selectid="selectXXXList"parameterType="java.util.List"resultType="XXXBean">SELECTXXXFROMXXXWHERE1=1<iftest="list!=null">ANDxxxIN<foreachcollection="list"item="item"index="index"open="("separator=","close=")">#{item}</foreach></if></select></mapper>

错误:

MyBatis 3.3.1 批量插入多行回写自增id

mybatis Parameter 'marge_id' not found. Available parameters are [list]