mybatis新增用时用list传递参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36481052/article/details/78888618
前两天有用到,mybatis新增时用list传递参数,感觉mapper也很强大。废话不多说,直接上代码。

用户类:(userId我在数据库中定义成主键自增,所以在mapper中不用赋值)

/*用户实体类*/
public class UserEntity {
    /*用户ID*/
    private int userId;
    /*用户名*/
    private String userName;
    /*用户密码*/
    private String userPassword;
    /*用户昵称*/
    private String userNickName;

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserPassword() {
        return userPassword;
    }

    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    public String getUserNickName() {
        return userNickName;
    }

    public void setUserNickName(String userNickName) {
        this.userNickName = userNickName;
    }

    @Override
    public String toString() {
        return "UserEntity{" +
                "userId=" + userId +
                ", userName='" + userName + '\'' +
                ", userPassword='" + userPassword + '\'' +
                ", userNickName='" + userNickName + '\'' +
                '}';
    }
}

用户Dao层:

/**用户注册持久层*/

public interface UserDao {

    /*向表中写入数据*/
    int insertObject(List list);

}

下面就是最重要的userMapper:

<?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.blbb.web.user.dao.UserDao">

    <!--执行写入数据操作-->
    <insert id="insertObject"
            parameterType="java.util.List">
        INSERT INTO user (
        user_name,
        user_password,
        user_nickname
        )VALUES
        <foreach collection="list" item="item" index="index" separator=",">
            (
            #{item.userName,jdbcType=VARCHAR},
            #{item.userPassword,jdbcType=VARCHAR},
            #{item.userNickName,jdbcType=VARCHAR}
            )
        </foreach>
    </insert>
</mapper> 

这是我们常用的数据类型在mybatis中jdbc的对应类型

JDBC Type           Java Type
CHAR                String
VARCHAR             String
LONGVARCHAR         String
NUMERIC             java.math.BigDecimal
DECIMAL             java.math.BigDecimal
BIT             boolean
BOOLEAN             boolean
TINYINT             byte
SMALLINT            short
INTEGER             int
BIGINT              long
REAL                float
FLOAT               double
DOUBLE              double
BINARY              byte[]
VARBINARY           byte[]
LONGVARBINARY               byte[]
DATE                java.sql.Date
TIME                java.sql.Time
TIMESTAMP           java.sql.Timestamp
CLOB                Clob
BLOB                Blob
ARRAY               Array
DISTINCT            mapping of underlying type
STRUCT              Struct
REF                         Ref
DATALINK            java.net.URL[color=red][/color]

猜你喜欢

转载自blog.csdn.net/qq_36481052/article/details/78888618