今天在工作时,需要将获取的用户的注册信息插入数据库,开始的做法是将所有的model的属性作为DAO接口的参数,后来想想不对劲,要是有100个属性,那我这个接口岂不是要有100个参数传进来? 于是我就考虑将整个Model或者DTO作为DAO接口的参数,向SQL传参,具体的实现如下: (1)定义DAO接口: @Repository public interface ProjectDtoMapper { void addProject(@Param("projectDto")ProjectD…
SQL中首先建立一个结构一样的自定义类型的表格,在存储空间中申明一个此类型的变量,此处注意此时后面必须有readonly,如: @paravalue_insert MaterialStruct readonly,//此处注意此时后面必须有readonly,否则会报错,http://www.mamicode.com/info-detail-1485151.html 当传入多个参数时,可以用Dictionary<string, object>,把参数都包含其中,如: parmWithValue =…
默认情况下,使用#{}语法,MyBatis会产生PreparedStatement语句中,并且安全的设置PreparedStatement参数,这个过程中MyBatis会进行必要的安全检查和转义. #相当于对数据 加上 双引号,$相当于直接显示数据 示例1:执行SQL:select * from emp where name = #{employeeName}参数:employeeName=>Smith解析后执行的SQL:select * from emp where name = ? 示例2:…
声明:这是转载的. mybatis中的#和$的区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中.如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_…
mybatis对传入参数进行判断时,会使用if标签, 一般是判断不为null和'', 如下: <if test="name != null and 那么 != ''"> name =#{name,jdbcType=VARCHAR}, </if> 1. String类型是符合的,但是如果是Integer类型的话,如果变量的值是0,即 num = 0, mybatis在进行 num != '' 的时候会认为  num 的值是空字符串, 即 num == '' 为tr…
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean"> select t.* from tableName t where t.id= #{id} </select> 其中方法名和ID一致,…
由于公司要求,最近从.net向java 转,然后过程中遇到各种奇葩问题,特在此随记一番. 场景:一个方法中有两个参数,一个List的集合,一个int 类型的参数,最初我在xml的sql参数,无论定义成List还是int都报错,其实仔细一想就能明白,接口方法中定义了两个类型的参数,所以你XML中的参数类型无论定义成什么都是不对的. 原始写法: //========================这个例子是原始错误写法的例子===========Start void batchUpdateUrget…
第一种: Dao层的方法 public User selectUser(String name,String password); 对应的Mapper.xml <select id="selectUser" resultMap="BaseResultMap"> select * from t_user where user_name = #{0} and user_password=#{1} </select> 第二种: 该方法采用Map传多…
具体实现参照网上,但是可能遇到注入参数为null的情况,经过查阅及自己测试记录一下: 子查询的参数中,有<if test="">之类,需要指定别名,通过 http://blog.csdn.net/mamba10/article/details/20927225 ,了解到设置注入参数时可以设置别名 <collection property="projectList" column="{projectId=project_id}"…
在使用 association和collection 进行关联查询的时候 column 参数可能会有多个,如下: 注意: parameterType 一定要是 java.util.Map…