码迷,mamicode.com
首页 > 其他好文 > 详细

Mybatis:(六)注解

时间:2020-02-24 00:28:06      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:factory   XML   前言   建议   lock   int   增删改   详细   mamicode   

一、前言

利用mybatis注解开发,就不需要mapper.xml文件了,只需要在核心配置文件中导入即可,提高了开发效率

二、CRUD(注解)

  1. 查询

    1. 在接口中添加注解

      //查询全部用户
      @Select("select id,name,pwd password from user")
      public List<User> getAllUser();
    2. 在核心配置文件中导入

    3. 测试

  2. 增删改

  3. 改变utils工具类中的方法

//获取SqlSession连接
public static SqlSession getSession(){
    return getSession(true); //事务自动提交
}

public static SqlSession getSession(boolean flag){
    return sqlSessionFactory.openSession(flag);
}
//注意:确保实体类和数据库字段对应
  1. 编写Mapper接口
//添加一个用户
@Insert("insert into user (name,pwd) values (#{name},#{pwd})")
int addUser(User user);
  1. 测试
@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注入,提高系统安全性。

Mybatis:(六)注解

标签:factory   XML   前言   建议   lock   int   增删改   详细   mamicode   

原文地址:https://www.cnblogs.com/dreamzone/p/12354905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!