Mybatis:(六)注解
一、前言
利用mybatis注解开发,就不需要mapper.xml文件了,只需要在核心配置文件中导入即可,提高了开发效率
二、CRUD(注解)
查询
在接口中添加注解
//查询全部用户 @Select("select id,name,pwd password from user") public List<User> getAllUser();
在核心配置文件中导入
测试
增删改
改变utils工具类中的方法
//获取SqlSession连接 public static SqlSession getSession(){ return getSession(true); //事务自动提交 } public static SqlSession getSession(boolean flag){ return sqlSessionFactory.openSession(flag); } //注意:确保实体类和数据库字段对应
- 编写Mapper接口
//添加一个用户 @Insert("insert into user (name,pwd) values (#{name},#{pwd})") int addUser(User user);
- 测试
@Test public void testAddUser() { SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); User user = new User("路飞", "123456"); mapper.addUser(user); session.close(); }
## 三、mybatis详细执行流程
四、@param
使用技巧
- 在方法只有一个参数的情况下,可以不使用@Param
- 方法有多个参数的情况下,建议使用@Param注解给参数命名
- 如果参数是 JavaBean , 则不能使用@Param。
- 不使用@Param注解时,参数只能有一个,并且是Javabean。
五、#{}与${}的区别
#{}
会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;- ${} 把 ${ } 替换成变量的值,完成的是简单的字符串拼接。
- mybatis中使用#{}可以防止sql注入,提高系统安全性。
相关推荐
xiuyangsong 2020-11-16
Nishinoshou 2020-11-09
jimgreatly 2020-09-01
dongxurr 2020-08-18
Dullonjiang 2020-08-15
Dullonjiang 2020-08-11
Dullonjiang 2020-08-09
dongxurr 2020-08-08
yunzhonmghe 2020-08-07
jimgreatly 2020-08-03
Dullonjiang 2020-07-30
jimgreatly 2020-07-27
liqiancao 2020-07-26
xiuyangsong 2020-07-26
dongxurr 2020-07-26
mcvsyy 2020-07-26
helloxusir 2020-07-25
牧场SZShepherd 2020-07-20