Loading

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 }

 

posted @ 2021-10-13 17:14    阅读(286)  评论(0编辑  收藏  举报