1 Restful风格的参数接收
/{id} 与 参数id对应,这个{id} 获取来自页面的值
@PathVariable(比如这种url:someUrl/12)用来获取url里面的值。Restful风格的使用这个,
如果名称一致,就下面图片的写法,如果名称不一致,还需要指定一个名称。
@RequestParam (比如这种url:someUrl?id=12),普通的写法使用这个,注意这个与上面的区别。
2 相同名称数据的提交可以使用数组接收或者list接收。
3 其实增删改成在mapper.xml 文件里面都可以使用<select></select> 标签
4 针对mybatis传递的参数不是对象的时候,而是直接传递的参数需要使用map的方式:
// UserbeanMapper.java
//注意着两个参数 uid 、rid 的写法,必须的使用如下的方式,否则不能够传入到xml文件
//而且名称要与xml文件中的名称一致 对应values(#{uid},#{rid})
void insertUidAndRid(@Param("uid") Integer userid,@Param("rid") Integer rid);
//这里的传入参数不是实体对象,而是使用map
//这里面的名称要与上面接口中的参数名称一致,如:userid roleid 对应 @Param("uid") @Param("rid")
<insert id="insertUidAndRid" parameterType="map">
insert into t_user_role(userid,roleid)
values(#{uid},#{rid})
</insert>
5 mysql的主键为自增的时候,mabatis如何在插入数据的时候就能返回主键值给实体对象?
方式1:通过如下的方式来实现:如下代码:useGeneratedKeys="true" keyProperty="userid"
例如:
<insert id="insertSelective" useGeneratedKeys="true" keyProperty="userid" parameterType="cn.hd.model.Userbean" >
insert into t_user
</insert>
方式2:
6 修改用户角色数据回填的写法:
//首先引入一个标签
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!--
fn:contains(user.rids,r.roleid)
user.rids :所有的权限
r.roleid :当前的权限
在所有的权限里面看是否包含当前的权限,如果包含返回true
-->
<c:forEach items="${rolelist }" var="r">
<input type="checkbox" name="rids" value="${r.roleid }" ${fn:contains(user.rids,r.roleid) ? 'checked':'' } >${r.rolename }
</c:forEach>
7 在删除用户的时候对权限的删除实现的方法:
1 通过业务逻辑的实现:首先删除中间表的数,然后删除用户的数据
2 也可以通过数据库的级联删除,删除了用户数据,级联删除角色数据,这个需要数据库设计的时候有级联删除的设置。
8 加上事物相关,注意这个REQUIRED是面试重点
<!-- 事务的配置 -->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 拦截器方式配置事物 -->
<tx:advice id="transactionAdvice" transaction-manager="txManager">
<tx:attributes>
<!-- 以如下关键字开头的方法使用事物 -->
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="modify*" propagation="REQUIRED"/>
<tx:method name="edit*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="remove*" propagation="REQUIRED"/>
<tx:method name="buyfood" propagation="REQUIRED"/>
<tx:method name="order" propagation="REQUIRED"/>
<!-- 以如下关键字开头的方法不使用事物 -->
<tx:method name="get*" read-only="true"/>
<tx:method name="find*" read-only="true" />
<tx:method name="load*" read-only="true" />
<tx:method name="query*" read-only="true" />
<!-- 其他方法不使用事物 -->
<tx:method name="*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>
<!-- 切面,将事物用在哪些对象上 -->
<aop:config>
<aop:pointcut id="transactionPointcut" expression="execution(* cn.hd.service.impl.*Impl.*(..))" />
<aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" />
</aop:config>
分享到:
相关推荐
NULL 博文链接:https://javawjy.iteye.com/blog/2358175
本文设计的系统管理功能模块采用了多用户多角色管理机制,确保不同的用户登录系统后能够操作属于自己权限范围内的功能。系统功能管理模块主要由用户管理子模块、角色管理子模块、角色设置管理子模块、权限管理子模块...
1. 会员卡密码要加密存储 2. 能进行用户登陆身份验证 3. 能进行会员信息管理 4. 数据操作使用存储过程来实现
有类别管理、文档管理、添加文档、浏览文档、附件管理、角色管理、添加角色、用户管理功能模块。 操作过程中: 1:选择上下移动按钮可以改变角色的排列顺序; 2:选择"pen"型按钮可以修改你所选的角色,并在下面...
本文设计的系统管理功能模块采用了多用户多角色管理机制,确保不同的用户登录系统后能够操作属于自己权限范围内的功能。系统功能管理模块主要由用户管理子模块、角色管理子模块、角色设置管理子模块、权限管理子模块...
tb_User_Permit:用户授权表,用户ID与角色、职位、项目及直接授予的权限串表; 下载后推荐五位同学下载,我愿意给你提供技术支持,目的是为了获得csdn下载分数(我没分,每次下载资源时都是一件麻烦的事情)
3、修改 新增用户模块 选择 其所属用户组 并把用户id与用户组id 写入用户用户组关系表; 4、新增 修改用户以及删除用户组模块(有用户属于该用户组 用户组名字不允许更改 用户组不允许删除); 5、新增 增加用户...
1. 用户(user)和角色(role) 用户指访问系统中的资源的主体,一般为人,也可为 Agent 等智能程序。角色指应用领域内一种权力和责任的语义综合体,可以是一个抽象概念,也可以是对应于实际系统中的特定语义体,比如...
目前系统已经基本集成的功能包含有,用户管理,角色管理,菜单管理,组织管理,数据字典,日志管理,接口管理(暂时未完成实际应用),流程配置,运行流程管理,消息管理(暂无实际应用),业务模块没有做。后台是基于...
很多初学者面对这样的需求不知道如何下手,特别是稍微复杂点的权限,更是找不到方向,为此我们夜鹰教程网特别推出了这套基于角色的权限管理视频教程,通过给用户分配角色,给角色分配权限,来实现权限管理。...
设计和开发一个 Java 公共资源模块需要考虑到该模块的功能、接口设计、数据结构、以及与其他模块的交互等方面。以下是一个简要的描述: 设计与开发 Java 公共资源模块 该公共资源模块旨在提供对各种公共资源(如...
ContentManager芳园科技推出的一款功能丰富的文档和新闻类管理模块,芳园科技官网的文档管理就是使用的这个模块。 安装环境:最低安装版本是DotNetNuke Community6.2,由于7.0继承了6.0版的功能且运行速度大为提高...
本文设计的系统管理功能模块采用了多用户多角色管理机制,确保不同的用户登录系统后能够操作属于自己权限范围内的功能。系统功能管理模块主要由用户管理子模块、角色管理子模块、角色设置管理子模块、权限管理子模块...
其采用模块化设计思想,各功能模块之间相对独立,方便开发者进行二次开发和定制。此外,系统还提供了丰富的API接口和详细的开发文档,帮助开发者快速上手和深入理解系统架构。 总之,Smart系统凭借其卓越的权限管理...
在数据库的设计上面,根据系统的需要,设计了角色表、用户表、部门表、文档表、员工表、短信表。整体的设计思路上面,整个系统划分为用户登录模块、用户管理模块、部门管理模块、员工管理模块、员工文档管理模块以及...
项目中一般都会配置 SecurityManager,开发人员将大部分精力放在了 Subject 认证主体上,与 Subject 交互背后的安全操作,则由 SecurityManager 来完成。 3. Realm 是一个域 它是连接 Shiro 和具体应用的桥梁。当...
为了帮助企业方便快捷地...角色管理模块,通过权限关联与控制给用户赋予角色(管理员角色和普通用户角色);资源权限管理模块给不同的角色关联不同的资源权限;基本数据的管理即可以对商品以及订单信息进行CRUD操作。
4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 5.设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作: (1)...