Mybatis框架-@Param注解
时间:2019-11-05
本文章向大家介绍Mybatis框架-@Param注解,主要包括Mybatis框架-@Param注解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
回顾一下上一个小demo中存在的问题,是是根据用户的id修改用户的密码,我们只是修改了用户的密码,结果我们的在写接口方法的时候掺入的参数确实一个User对象,这样让别人看到我们的代码真的是很难读懂啊!所以我们有必要对我们的代码进行改进,说句实在话,我个人觉得我们在写代码的时候,不要去刻意的凸显我们自己有多门的厉害,我的代码写的有多么的优秀,想想,如果你写的代码,功能是实现了,但是就你自己能够读懂,别人要话费好长的时间才能看懂,那样团队的开发效率就会大大的降低。我觉得好的代码是大家都能够很容易上手的,可读性要高,可维护性要好。才行!靠!说多了。
现在步入正题:
UserMapper.xml
UserMapper.java
编写测试方法:
1 @Test 2 public void testUpdatePwd() { 3 SqlSession sqlSession = null; 4 String pwd="777777"; 5 Integer id=21; 6 int count=0;//返回受影响的行数 7 try { 8 sqlSession = MyBatisUtil.createSqlSession(); 9 //调用mapper接口的方式实现 10 count= sqlSession.getMapper(UserMapper.class).updateUserPwd(id, pwd); 11 // int i=1/0;//模拟异常 后台日志打印出rolling back表示没有插入成功,事务进行了回滚 12 mlogger.info("返回受影响的行数:" + count); 13 sqlSession.commit();//后台日志打印出rolling back表示没有提交事务,事务进行了回滚,所以必须得提交事务才行 14 } catch (Exception e) { 15 // TODO: handle exception 16 } finally { 17 // 最后一定要注意:关闭会话 18 MyBatisUtil.closeSqlSession(sqlSession); 19 20 } 21 22 }
运行结果:
BUG] 2019-11-05 21:26:37,791 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Opening JDBC Connection [DEBUG] 2019-11-05 21:26:38,109 org.apache.ibatis.datasource.pooled.PooledDataSource - Created connection 1701693537. [DEBUG] 2019-11-05 21:26:38,115 cn.smbms.dao.user.UserMapper.updateUserPwd - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@656dc861] [DEBUG] 2019-11-05 21:26:38,118 cn.smbms.dao.user.UserMapper.updateUserPwd - ==> Preparing: update smbms_user SET userPassword=? where id=? [DEBUG] 2019-11-05 21:26:38,228 cn.smbms.dao.user.UserMapper.updateUserPwd - ==> Parameters: 777777(String), 21(Integer) [INFO] 2019-11-05 21:26:38,231 cn.smbms.dao.test.UserMapperTest - 返回受影响的行数:1 [DEBUG] 2019-11-05 21:26:38,232 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Committing JDBC Connection [com.mysql.jdbc.JDBC4Connection@656dc861] [DEBUG] 2019-11-05 21:26:38,237 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@656dc861] [DEBUG] 2019-11-05 21:26:38,237 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@656dc861] [DEBUG] 2019-11-05 21:26:38,238 org.apache.ibatis.datasource.pooled.PooledDataSource - Returned connection 1701693537 to pool.
数据库查询结果:
最后,特别要注意一点,如果接口方法中只有一个参数,不加注解的话,这个参数也是能够自动匹配上的,两个或者两个以上不加注解的话,是会报bindingException异常的。
但是为了好的编码习惯,建议大家当只有一个参数入参的时候,也使用注解的方式。麻烦不到哪去。
原文地址:https://www.cnblogs.com/dongyaotou/p/11801792.html
- javaSE基础之基本细节注解
- javaSE基础——常见的dos命令即其他
- 扫雷游戏制作学习过程
- JavaWeb学习之环境搭建
- Java初学之华容道游戏
- java基础学习之 消息对话款
- 暑假集训之专题----拓扑排序题解
- 李沐:从头开始介绍机器学习,眼花缭乱的机器学习应用
- hdu------2488Tornado(几何)
- nyoj------203三国志
- nyoj 115------城市平乱( dijkstra // bellman )
- hdu----(1847)Good Luck in CET-4 Everybody!(简单巴什博奕)
- hdu----(3118)Arbiter(构造二分图)
- hdu----(1528)Card Game Cheater(最大匹配/贪心)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释