1.mybatis 传入多个参数的问题,我也纠结了很久,找了很多资料,都没有得到想要的结果,
无意中,mybatis 插件提示的时候发现了,原来是这样写的!
package com.hengyu.ticket.dao;
import com.hengyu.ticket.entity.Admin;
import java.util.List;
import org.apache.ibatis.annotations.Param;
/**
*
* @author 李冠锋 2015-12-02
*
*/
public interface AdminDao {
public abstract List<Admin> querylist(String name,String mobile,Admin admin,@Param("id") Integer id);
}
<select id="querylist" resultMap="result_map"> select * from admin where userid = #{id} <!-- #{id} 相当于 #{param4} --> and <!-- param2 方法中的 mobile --> realname like'%${param2}%' <if test="param3!=null"> <!-- param3 方法中的 admin 对象 --> or realname like '%${param3.realname}%' </if> </select><!-- 不要加入parameterType就可以这样写了 -->
2. mybatis 执行多条sql语句,配置jdbc驱动属性 allowMultiQueries = true 就可以执行多条语句操作了
可以多条语句更新 或删除
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://192.168.4.127:3306/ticket" /> <property name="username" value="root" /> <property name="password" value="helloworld" /> <property name="connectionProperties"> <props> <prop key="allowMultiQueries">true</prop> </props> </property> </bean>
<delete id="save" parameterType="Admin" statementType="PREPARED"> delete from admin where 1=2; delete from admin where 1=2; update admin set userid = 1 where 1=2; </delete>
3. 批量插入操作
<insert id="batchSave" parameterType="list"> insert into ticket_line (<include refid="columns"/>) values <foreach item="i" collection="list" index="index" separator=","> (<include refid="batch_propertys"/>) </foreach> </insert> <sql id="columns"> `lmid`, `LineName`, `ShiftCode`, `CityStartID`, `OriginStartTime`, `STStartID`, `STStartName`, `CityArriveID`, `STArriveID`, `STArriveName`, `StartTime`, `ArriveTime`, `TicketPrice`, `TransCompany`, `TicketDate`, `MakeDate`, `mileage`, `favprice` </sql> <sql id="batch_propertys"> #{i.lmid}, #{i.linename}, #{i.shiftcode}, #{i.citystartid}, #{i.originstarttime}, #{i.ststartid}, #{i.ststartname}, #{i.cityarriveid}, #{i.starriveid}, #{i.starrivename}, #{i.starttime}, #{i.arrivetime}, #{i.ticketprice}, #{i.transcompany}, #{i.ticketdate}, #{i.makedate}, #{i.mileage}, #{i.favprice} </sql>