Mybatis
猪猪侠在冒险
邮箱是634828354@qq.com 有需要可以沟通
展开
-
mybatis #{}和${}的区别
相同点:两者都是动态的向SQL中传入需要的参数不同点:#{}传入的参数在SQL中预处理阶段替换为?,而${}传入的参数直接被替换为传入的值 #{}传入的值会被处理,而${}传入的值不会被处理,容易被SQL注入,有安全风险,适用于简单的SQL拼接 #{}传入的值带引号,${}传入的值不带引号使用场合:#{}通常用于mybatis传值的默认配置 ${}通常用于传入非变量部分的数据...原创 2019-02-27 20:58:01 · 104 阅读 · 0 评论 -
@Autowired 与@Resource的区别
相同点:@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。不同点:@Autowired按byType自动注入,常搭配@Qualifier,用于解决按照类型会找到多个Bean的问题 @Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而t...原创 2019-02-28 10:55:08 · 127 阅读 · 0 评论 -
Mybatis like模糊查询语句怎么写(4种)
模糊查询like语句该怎么写?(1)'%${question}%' 不推荐(2)CONCAT('%',#{question},'%') 推荐 (3) NAME like '%'|| #{name} || '%'(4)使用bind<bind name="pattern" value="'%' + _parameter.username + '%'" /&g...原创 2019-02-28 20:48:00 · 23957 阅读 · 10 评论 -
Mybatis如何执行批量操作?
1、设置SqlSession为批量操作类型sqlsession sqlsession = sqlsessionfactory.opensession(executortype.batch); try { namemapper mapper = sqlsession.getmapper(namemapper.class); for (string name : na...原创 2019-02-28 21:11:15 · 2735 阅读 · 0 评论 -
MyBatis如何获取自动生成的(主)键值?
MySQL:Mapper文件insert语句设置 useGeneratedKeys="true" keyProperty="id"Oracle:Mapper文件insert语句增加<selectKey keyProperty="id" order="BEFORE" resultType="Integer"> select xxx_SEQ.nextval ...原创 2019-02-28 21:21:36 · 8218 阅读 · 2 评论 -
ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB
问题背景:需求中需要存储一个图片的Base64编码,采用CLOB存储,数据库和Mapper文件增加内容如下:<result property="uploadImageBase64" column="UPLOAD_IMAGE_BASE64" jdbcType="CLOB" javaType="java.lang.String"/>查询列表的时候发现报错:...原创 2019-09-16 10:17:38 · 4166 阅读 · 0 评论