1. mybatis中当表中列需要关联外键查询时使用association
<association column="UPDATE_BY" property="updateBy" javaType="com.xinhua.xpm.sys.model.SysUser" select="com.xinhua.xpm.sys.dao.mapper.SysUserMapper.findById">
<id property="id" column="id" />
<result property="name" column="NAM" />
</association>
在association标签中使用column表示数据库中的列,property表示与属性对应的列,javaType表示该属性的类型,
select属性可以关联查询,表示通过哪个mapper下面的方法去操作,并且标注需要哪些列,用result表示
2. mybatis中判断标签
<if test="role.type != null"></if>表示当条件满足的时候进行操作
3.mybatis中循环遍历使用foreach标签,collection表示传入的参数,item表示单个的值,open表示开始符号,close表示结束符号,separator表示以什么符号作为分隔符, #{id}表示单个的值
<foreach collection="ids" item="id" index="index"
open="(" close=")" separator=",">
#{id}
</foreach>
4. mybatis中if else if else
<choose>
<when test="startTime != null and endTime != null">
AND OPER_TIM BETWWEN #{startTime} AND #{endTime}
</when>
<when test="startTime != null">
AND OPER_TIM >= #{startTime}
</when>
<when test="endTime != null">
AND OPER_TIM >= #{endTime}
</when>
</choose>
5. hibernate注解认识
@DynamicInsert
@DynamicUpdate
使用上面两个注解表示当更新表中部分字段时,仅仅发出更新部分字段的sql语句,反之会发出更新所有字段的语句
@Column(name = "NAM", length = 50, nullable = false)表示数据中的列名字,数据长度,是否可以为空处理
@Enumerated(EnumType.ORDINAL)为枚举类型,0和1表示
@ManyToOne
@JoinColumn(name = "ORG_ID")表示该列与外键表的关系为多对一的关联关系
@ManyToMany
@JoinTable(
name = "sys_position_user",
joinColumns =@JoinColumn(name = "PID"),
inverseJoinColumns = @JoinColumn(name = "UID")
)
多对多的关联关系name = "sys_position_user"为中间表
joinColumns =@JoinColumn(name = "PID")表示中间表中的关联列
nverseJoinColumns = @JoinColumn(name = "UID"另外一张表中的关联列
@Temporal(TemporalType.TIMESTAMP)表示该列在数据中的类型为时间戳
easyui datagrid前台数据过滤
columns : [[
{field:'id',checkbox:true},
{field:'name',title:'参数名',halign:'center',algin:'left'},
{field:'value',title:'参数值',halign:'center',algin:'left'},
{field:'description',title:'参数描述',halign:'center',algin:'left'},
{field:'updateBy',title:'更新人',halign:'center',algin:'left',formatter:function(value,rowData){
return rowData.updateBy != null ? rowData.updateBy.name : "";
}},
{field:'updateTime',title:'更新时间',halign:'center',algin:'left',formatter:function(value){
return new Date(value).format();
}},
{field:'vld',title:'启用标识',halign:'center',align:'center',formatter : function(value){
var str = '<span style="color:{0}">{1}</span>';
if(value == "VALID"){
return $.formatString(str,"green","启用");
}else{
return $.formatString(str,"red","禁用");
}
}}
]]
使用formatter函数获取值进行过滤操作