MyBatis之使用注解开发(五)
程序员文章站
2022-05-24 20:15:04
...
MyBatis之使用注解开发(五)
本文示例部分代码用Mybatis入门(一).
参考资料:Mybatis 3官方文档.
微信公众号:狂神说
一、mybatis执行流程
二、基于注解(CRUD)
2.1 工具类(MybatisUtils)优化
重载实现
//获取SqlSession连接
public static SqlSession getSession(){
return getSession(true); //事务自动提交
}
public static SqlSession getSession(boolean flag){
return sqlSessionFactory.openSession(flag);
}
2.2 UserMapper
【注意】:1. 确保和数据库字段对应
2. 增删改一定记得事务处理
@Select("select * from user")
List<User> getUsers();
@Select("select * from user where id=#{id}")
User getUserById(@Param("id") int id);
@Insert("insert into user(id,name,pwd) values(#{id},#{name},#{password})")
int addUser(User user);
@Update("update user set name=#{name},pwd=#{password} where id=#{id}")
int updateUser(User user);
@Delete("delete from user where id=#{uid}")
int deleteUser(@Param("uid")int id);
三、注意事项
关于@Param
@Param注解用于给方法参数起一个名字。以下是总结的使用原则:
- 在方法只接受一个参数的情况下,可以不使用@Param。
- 在方法接受多个参数的情况下,建议一定要使用@Param注解给参数命名。
- 如果参数是 JavaBean , 则不能使用@Param。
- 不使用@Param注解时,参数只能有一个,并且是Javabean。
#与$的区别
-
#{} 的作用主要是替换预编译语句(PrepareStatement)中的占位符? 【推荐使用!!!】
INSERT INTO user (name) VALUES (#{name});INSERT INTO user (name) VALUES (?);
-
${} 的作用是直接进行字符串替换【不能防止sql注入问题】
INSERT INTO user (name) VALUES ('${name}');INSERT INTO user (name) VALUES ('kuangshen');
使用注解和配置文件协同开发,才是MyBatis的最佳实践!
上一篇: mysql新手入门随笔
下一篇: Unity 屏幕适配问题
推荐阅读
-
Android开发之WebView组件的使用解析
-
Android开发之瀑布流控件的实现与使用方法示例
-
iOS程序开发之使用PlaceholderImageView实现优雅的图片加载效果
-
Android开发之自带下载器DownloadManager的使用示例代码
-
Vue开发之封装分页组件与使用示例
-
mybatis @Alias注解在类上的使用方式(推荐)
-
Android UI设计与开发之使用ViewPager实现欢迎引导页面
-
android开发之调用手机的摄像头使用MediaRecorder录像并播放
-
Android开发之MediaPlayer基本使用方法详解
-
Android开发之图形图像与动画(五)LayoutAnimationController详解