Mybatis笔记(三):通过注释执行SQL语句
时间:2021/10/13
在之前的项目中,SQL语句都是在xml配置文件中编写的,这里我们使用注释来编写SQL语句,具体如下:
UserDao.java文件内容如下:
1 package bupt.machi.dao; 2 3 import bupt.machi.pojo.User; 4 import org.apache.ibatis.annotations.Param; 5 import org.apache.ibatis.annotations.Select; 6 7 import java.util.List; 8 import java.util.Map; 9 10 public interface UserDao { 11 12 //通过注释获取全部user 13 @Select("select * from mybatis.user") 14 List<User> getUserList(); 15 16 //Param注释说明了参数在mysql参数中使用的名字 17 @Select("select * from mybatis.user where id = #{id} and name = #{name}") 18 User getUserByIdAndName(@Param("id") int id, @Param("name") String name); 19 }
关于@Param()注解
- 基本类型参数或者String,需要加上
- 引用类型不用加
- 如果只有一个基本类型的话,可以忽略,但是建议都加上
在使用注释来执行SQL语句时,也需要在mybatis配置文件中注册,注册代码如下:
1 <mappers> 2 <!--resource必须是/--> 3 <mapper class="bupt.machi.dao.UserDao"/> 4 </mappers>
之前在进行增删改时,每次都需要提交事务,如果在工具类MybatisUtils中给openSession方法添加参数true,则可以自动提交事务,具体如下:
1 public static SqlSession getSqlSession(){ 2 //获取SqlSession对象 3 //这里如果传了参数true,就会自动提交事务,以后就不用写commit了 4 return sqlSessionFactory.openSession(true); 5 }
努力,向上,自律