mysql + SpringMVC + MyBatis中批量插入实例以及@Param注解的用法

来源:互联网 发布:粉笔申论智能批改 知乎 编辑:程序博客网 时间:2024/06/05 14:10

1.使用到的jar包如下:

mybatis-3.2.2.jar、mybatis-spring-1.2.2.jar、mysql-connector-java-5.1.32.jar

2.Spring配置文件

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="myDataSource" /><!-- <property name="configLocation" value=""/> --><!--该属性用来指定MyBatis的XML配置文件路径,跟Spring整合时,编写MyBatis映射文件的目的无非是配置一下typeAlias、setting之类的元素。不用在其中指定数据源,或者事务处理方式。就算配置了也会被忽略。因为这些都是使用Spring中的配置。当然如果你不打算添加 typeAlias 之类的设置的话,你连MyBatis的配置文件都不用写,更不用配置这个属性了-->   <!--<property name="mapperLocations" value="src/UserMapper.xml"/>-->   <!-- 该配置文件用来指定Mapper映射文件的位置 ,如果映射文件与相应的接口同名,且在同一路径下,那么可以不配置该选项-->   </bean>      <!--注册Mapper方式一       <bean id="userMapper"class="org.mybatis.spring.mapper.MapperFactoryBean">      <propertyname="mapperInterface"value="org.hyn.maper.UserMapper"/>      <propertyname="sqlSessionFactory" ref="sqlSessionFactory"/>    </bean>-->      <!-- 注册Mapper方式二:也可不指定特定mapper,而使用自动扫描包的方式来注册各种Mapper ,配置如下:-->   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">    <property name="basePackage" value="com.xxxx.xxx.mapper" />   </bean>

</pre><pre>
3.mapper.xml文件

<?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="org.hyn.maper.UserMapper">  <!-- 批量插入user表中 -->  <insert id="insertUser">   insert into user(name,age,createTime,createBy,modifyTime,modifyBy)     values       <foreach collection="list" item="item" index="index" separator=",">        ( #{item.name},#{item.age},#{item.createTime},#{item.createBy},#{item.modifyTime},#{item.modifyBy} )       </foreach>   </insert><!-- 当使用该Mybatis与Spring整合的时候,该文件必须和相应的Mapper接口文件同名 --></mapper> 

4.Mapper接口 (方法名要与映射文件的id一致)

package com.xxxx.xxx.mapper;@MapperScanpublic interface XxxxMapper{   public void insertUser(@Param("list")List<User> userList);}

5.java Service层调用

  1. @Service("userService")  
  2. public class userService implements UserService {  
  3.     @Autowired  
  4.     private XxxxMapper xxxxMapper;  
  5.     
  6.     public void addUsers(List<User> users) throws Excetion{
  7.        xxxxMapper.insertUser(users);
  8.     }     
  9. }  



0 0
原创粉丝点击