关于mybatis

1.驼峰映射数据库下划线

应用场景:
数据库列名: create_date 对应实体类属性:createDate
在mybatis.xml文件中加入


	<settings>
		<!-- 驼峰映射数据库下划线 -->
		<setting name="mapUnderscoreToCamelCase" value="true" />
	</settings>

这样一些简单的库表就不用做映射或起别名

2.强制插入空数据

应用场景:
Mybatis执⾏插⼊、修改时不允许出现空值

在mybatis.xml文件中加入

    <settings>
		<setting name="jdbcTypeForNull" value="NULL"/>
	</settings>

注:
若不加此配置,必须在添加或修改时必须加⼊jdbcType属 性。

	<insert id="save" parameterType="User"> 
		insert into t_user values(#{id},#{username,jdbcType=VARCHAR},#{age,jdbcType=INTEGER}) 
	</insert>

3.实体类别名

mybatis.xml:

	<typeAliases>        
		<typeAlias type="类的全限定名"  alias="别名"/>    
	</typeAliases>

注:别名使用时不区分大小写

4.模糊查询

dao:

	List<Book> selectBookByName(@Param("name")String name);

mapper.xml:

<!-- 根据书名查询书籍 -->
	<select id="selectBookByName" parameterType="String" resultType="Book">
		select * from d_book where name like '%${name}%'
	</select>

注:

1.动态SQL

dao:

	List<Book> selectBookBy(@Param("type")String queryBy,@Param("content")String content);

mapper.xml

	<!-- 根据书名、作者、出版社查询书籍  -->
	<select id="selectBookBy" parameterType="String" resultType="Book">
		select * from d_book where
        
		  <if test="type == 'name'">
		  	name like '%${content}%'
		  </if>
		  
		  <if test="type == 'author'">
		  	author like '%${content}%'
		  </if>
		  
		  <if test="type == 'press'">
		  	press like '%${content}%'
		  </if>
	</select>
2.拼接查询条件的三种方法
	select * from d_book where name like '%${name}%'
	select * from d_book where name like '%'||#{name}||'%'
	select * from d_book where name like concat(concat('%', #{name}), '%')

5. #{}与${}区别

${}:把数据原样输出
#{}:相当于在原数据外层套上一层双引号,防止sql注入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值