1. 程式人生 > 其它 >Mybatis筆記(三):通過註釋執行SQL語句

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 }
努力,向上,自律