mybatis常用标签

1.select 标签

select表示为查询语法。

2.insert

insert表示为插入语法。

3.update

update表示为修改语法。

4.delete

delete表示为删除语法。

5.foreach

foreach表示为循环语法语法。

<foreach collection="barcodeManageBo" item="object" separator=","

open="(" close=")">

#{object.id}

</foreach>

open:以什么开始

close:以什么结束

separator:分隔符

collection:list名称

item:index名称

6.sql

sql表示可通用的sql片段,使用id可以引用。

<sql id="sqlvalues">

<if test="code!=null or code !=''">#{code},</if>

<if test="itemname !=null or itemname !=''">#{itemname},</if>

<if test="criteria !=null or criteria !=''">#{criteria},</if>

</sql>

7.include

<include refid="sqlvalues"></include>1

include表示引用sql标签,作为sql一部分。

8.set

<set>

<if test="typeName != null and typeName != ''">

typeName ={typeName},

</if>

<if test="sort != null and sort != ''">sort = #{sort},</if>

</set>

update时需要使用set语法,在set时候省略最后一个符号。

9.trim

trim是对sql值的替换。下文是将最后一个,替换成空,防止sql报错。

<trim suffix="" suffixOverrides=",">

<if test="code!=null"> code = #{code},</if>

<if test="itemname !=null"> itemname =#{itemname},</if>

<if test="criteria !=null "> criteria =#{criteria},</if>

</trim>

prefix:前缀覆盖并增加其内容。

suffix:后缀覆盖并增加其内容。

prefixOverrides:前缀判断的条件。

suffixOverrides:后缀判断的条件。

10.if

if表示判断。

11.choose

多条件判断,相当于if/elseif。

<choose>

<when test="title != null">

and title = #{title}

</when>

<when test="content != null">

and content = #{content}

</when>

<otherwise>

and owner = "owner1"

</otherwise>

</choose>

12.resultMap

数据库字段一般都是a_b,这样不符合实体的规范,所以需要转换成aB形式。

<resultMap id="getStudentRM" type="EStudnet">

<id property="id" column="ID"/>

<result property="studentName" column="Name"/>

<result property="studentAge" column="Age"/>

</resultMap>

<select id="getStudent" resultMap="getStudentRM">

SELECT ID, Name, Age

FROM TStudent

</select>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1.junit 常用注解 @Before 初始化方法,每次测试方法调用前都执行一次。 @After 释放资源:每次测试方法调用后都执行一次 @Test 测试方法:在这里可以测试期望异常和超时时间 @ignore 忽略的测试方法 @BeforeClass 针对所有测试,只执行一次,且必须为static void @AfterClass 针对所有测试,只执行一次,且必须为static void @RunWith 指定测试类使用的某个运行器参数SpringJUnit4ClassRunner.class @Parameters 指定参数类的参数数据集合 @Rule 允许灵活添加或重新定义测试类中的每个测试方法的行为 @FixMethodOrder 指定测试方法的执行顺序 @ContextConfiguration 参数locations="classpath:spring-mybatis.xml" 指向src下的该文件 执行顺序: @BeforeClass---@Before---@Test---@After---@Before ---@Test---@After---@AfterClass junit与main方法相比的优势:代码量少、结构清晰、灵活性更好 main:一个类中只能有一个main方0法 层次结构方面不够清晰 运行具体某一个方法时,要将其他的方法注释掉 2.mybatis的基本配置 1.dao层接口 2.mapper.xml:编辑需要执行的sql语句 (1)mapper标签的namespace属性:指定该xml对应的dao层接口的路径 3.spring-mybatis.xml:spring集成mybatils的配置文件 (1)配置sqlSessionFactory指定要操作的数据库,以及mapper.xml的所在目录 (2)配置指定的dao层接口的目录 3.mybatis的注意事项 1.xml中的sql不得有分号 2.sql语句操作的表明和列名 3.xml中的小于号:$lt;大于号¥> 4.取变量时,如果dao层接口使用的是@param("别名")注解,则根据别名取值 5.mapper.xml中$和#取值的区别 4.mybatis的xml中如何设置返回值 resultType返回的数据类型 5.$和#区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by ${user_id}, 如果传入 的值是id,则解析成的sql为order by id. 3. #方式能够很大程度防止sql注入。 4. $方式无法防止Sql注入。 5. $方式一般用于传入数据库对象,例如传入表名. 6. 一般能用#的就别用$ MyBatis排序时使用order by 动态参数时需要注意,用$而不是#

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值